現在、 CertificateDSC CertReqリソース を使用してDSC構成内で証明書要求を生成しています。私はDSCにかなり慣れていないので、プッシュアプローチを使用してチェックアウトしています。ワークフローは、mofを生成し、その後Start-DscConfiguration
またはUpdate-DscConfiguration
を実行することで構成されています。
DSC構成を実行または更新するたびに、CAから新しい証明書が要求されます。明らかに、それは私の意図ではありません。ノードで評価されるPowerShellDSCブロックを追加し、リソースブロックを適用する必要があるときはいつでも動的にチェックするにはどうすればよいですか?
アイデアは、適切な証明書をチェックし、CertReqブロックの前に評価されるある種のフラグを生成するブロックを持つことです。
擬似コードでは、次のようになります。 DSCでそれを行うことはうまくいかないようです。
Configration X {
Import-DscResource -ModuleName CertificateDSC
if((Get-ChildItem Cert:\LocalMachine\My | Where $condition).count -gt 0){
CertReq psCert {
# Data
}
}
}
したがって、最初に、リソースを実行する前に条件付きチェックを実行するという考えは、DSCを独立して使用するという考えに反します。そのコードはコンパイル時に実行されてMOFを生成しますが、その時点でフリーズします(ご存知のとおり)。
このDSCモジュールのコード を見てきましたが、そこから、新しい要求を行う必要があるかどうかについて、すでにこのチェックが行われていることがわかります。
その場合、必要なパラメーターを指定してCertReq
を使用するだけで、モジュールがすべての条件を処理する必要があります。
その時点でまだ重複するリクエストが生成されている場合は、質問を編集してそれらの詳細を含めます および/またはDSCの実行を自分でデバッグします 。