我正在尝试使用Powershell DSC做一些事情。我想按照http://technet.microsoft.com/en-us/library/dn781430.aspx上的说明对通过的凭据进行加密,直到我在目标节点上运行start-DscConfiguration并收到错误消息为止,所有这些似乎都可以正常工作:
回过头来,我检查了mof包含加密的凭据,而meta.mof包含匹配的指纹等。
回到原始文章,我看到示例代码:
当使用此代码(在目标节点上)测试证书时,我看到证书的PrivateKey为空。我不确定证书如何为空。尝试使用certutil和提到的技术http://blogs.technet.com/b/vishalagarwal/archive/2010/03/30/verifying-the-private-key-property-for-a-certificate-in-the-store.aspx进行一些操作,看来我确实有一个私钥,但是Powershell仅将其视为null。
在目标节点上,我什至手动导出了公钥并重新导入了公钥,而没有其他dsc教程中概述的运气。
我还尝试使用procmon来查看目标节点上的问题。我看到了wmiprvse进程,并看到它作为系统运行(如预期的那样),并且检查以确保对私钥的许可已允许系统(所有在目标节点上)
因此,我的问题是如何获取我的私钥以供DSC(特别是目标节点上的LCM)使用?或如何进一步诊断问题?
最佳答案
使用New-SelfSignedCertificate创建证书时遇到类似的错误。对于任何有类似问题的人,我怀疑问题与New-SelfSignedCertificate使用的存储提供程序有关(请参阅http://blogs.technet.com/b/vishalagarwal/archive/2010/03/30/verifying-the-private-key-property-for-a-certificate-in-the-store.aspx,其中讨论了Microsoft软件密钥存储提供程序和.NET类的问题)。 technet上提供了一个powershell脚本,它可以创建自签名证书,并且默认情况下使用其他存储提供程序,这为我解决了这个问题。
关于powershell - 未获取所需的状态配置凭据私钥,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26954085/