无法在执行Powershell DSC资源

时间:2017-08-28 11:35:26

标签: powershell functional-programming dsc

我正在处理DSC资源(cChoco),该资源当前依赖于外部实用程序(choco list)来收集Test-TargetResource所需的信息。我的问题是我必须调用的实用程序非常慢,并且因为cChoco安装了许多程序,它目前必须为DSC MOF文件中的每个实例提取已安装软件的完整列表。

我能够解决这个问题的唯一方法是拉出已安装的应用程序列表并将其写入磁盘,然后只需从文件中读取它以便后续运行,但这感觉不过对我来说有点像kluge。是否有任何普遍接受的设计模式用于在DSC资源或同一资源的实例之间传递状态而不仅仅是写入文件?似乎DSC / Mof实现对PowerShell施加的限制需要一种功能性的方法来设计资源,所以如果在DSC中没有普遍接受的“正确”方法来实现这一点,那么我可以借鉴更多功能编程语言?

如果有更多背景信息,请查看https://github.com/chocolatey/cChoco/issues/90

1 个答案:

答案 0 :(得分:0)

DSC中不可能在资源(和相同资源的实例)之间进行数据共享。这是一个公开的问题:https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/13399734-returning-information-from-dsc-resource-to-another