いくつかの目的でpowershell DSCを使用しようとしています。http://technet.microsoft.com/en-us/library/dn781430.aspxの指示に従って、渡された資格情報を暗号化したかったのですが、ターゲット ノードで start-DscConfiguration を実行して、エラー:
秘密鍵を取得できませんでした。+ CategoryInfo : NotSpecified: (root/Microsoft/...gurationManager:String) []、CimException + FullyQualifiedErrorId : MI RESULT 1 + PSComputerName : DmitriyDev
戻って、mof に暗号化された資格情報が含まれており、meta.mof に一致する拇印などが含まれていることを確認しました。
元の記事に戻ると、サンプル コードが表示されます。
# Get the certificate that works for encryption function Get-LocalEncryptionCertificateThumbprint { (dir Cert:\LocalMachine\my) | %{ # Verify the certificate is for Encryption and valid if ($_.PrivateKey.KeyExchangeAlgorithm -and $_.Verify()) { return $_.Thumbprint } } }
(ターゲット ノードで) このコードを使用して証明書をテストすると、証明書の PrivateKey が null であることがわかります。証明書がどのようにnullなのかわかりません。certutil と前述の手法でいくつかのことを試してみてくださいthe-store.aspx実際に秘密鍵を持っているようですが、Powershell はそれを null としか見なしません。
ターゲットノードで、公開秘密鍵を手動でエクスポートして再インポートしましたが、別の dsc チュートリアルで概説されているようにうまくいきませんでした。
また、procmon を使用して、ターゲット ノードの問題を確認しました。wmiprvse プロセスを確認し、それがシステムとして実行されていることを確認し (予想どおり)、秘密鍵のアクセス許可がシステム (すべてターゲット ノード上) に許可されていることを確認しました。
私の質問は、DSC、特にターゲット ノードの LCM で秘密鍵を使用する方法を教えてください。または、問題をさらに診断するにはどうすればよいですか?