另一种不太具体地表达问题的方式:在目标机器上“重置”DSC进程的正确方法是什么?
我已经创建了一个我现在正在迭代的 DSC 配置,并且我正在添加我弄错的新包配置。我确定如果忘记在 Package 块中向 MSI 安装程序提供 /quiet 参数,我可能会导致 Start-DscConfiguration cmdlet“挂起”。
在此“挂起”开始时,我停止本地计算机上的 DSC 配置操作并尝试更正配置问题(通过在我的示例中添加 /quiet 参数)然后我重新启动 DSC 操作。现在,我在操作过程中看到远程机器的以下内容:
Cannot invoke the SendConfigurationApply method. The PerformRequiredConfigurationChecks method is in progress and must return before SendConfigurationApply can be invoked.
+ CategoryInfo : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : MI RESULT 1
+ PSComputerName : REMOTEMACHINE20
不幸的是,访问正在配置的远程 PC 我看到了类似的错误消息,并且重新启动 PC 似乎无法纠正错误。
我在网上看到了一些关于这个问题的帖子,到目前为止我发现的三个建议:
- “稍等片刻,它会自行解决”,这对我没有用(也许我不耐烦......)。不是一个站得住脚的长期解决方案。
- “删除所有本地 .mof 文件并重试”,这对我也不起作用。
- 停止名称中包含“wmi”的所有进程,并在目标计算机上重新启动 winrm 服务。这让我畅通无阻,但我希望有更好的方法来做到这一点。(如果我在接下来的几天里没有听到更好的方法,我会用这个程序自己回答这个问题以获得所需的结果)。