我正在尝试使用Powershell 5.1将包含凭据的所需状态配置推送到远程服务器。根据{{3}},这应该没问题,因为“从PowerShell版本5.0开始,当使用Start-DSCConfiguration cmdlet将整个MOF文件应用于节点时,默认情况下会加密整个MOF文件。”
但是,每当我尝试不使用加密证书时,总是收到关于未加密的MOF文件中的纯文本密码的常见错误消息( System.InvalidOperationException错误处理属性'Credential'OF类型'File': 不建议将加密的密码存储为纯文本。)。
这是手册中的错误,还是我做错了?换句话说:如何在不设置证书的情况下使用加密的MOF文件推送DSC配置?
答案 0 :(得分:1)
推送部署的自动加密确实有效,但是我误解了错误消息和文档,因此也误解了结果。
我的开发机器上的MOF文件从不加密,即使将它们推送到目标服务器之后也是如此。我猜这就是错误消息所指的内容。
但是,目标服务器上的MOF文件(例如,当查看C:\ Windows \ System32 \ Configuration \ Windows \ pending.MOF时)确实已加密。
换句话说,如果推是唯一使用的部署方法,并且推脚本在将推到服务器上的MOF文件立即删除后直接在开发机上删除,那么在MOF文件中使用纯文本密码似乎是可以的。但是我仍然需要使用 PSDscAllowPlainTextPassword 参数明确允许它们。