Powershell

如果需要,僅在 PowerShell DSC 中包含 CertReq

  • January 29, 2019

我目前正在使用CertificateDSC CertReq 資源在 DSC 配置中生成證書請求。我對 DSC 很陌生,我正在使用推送方法對其進行檢查,我的工作流程包括生成 mof 以及執行Start-DscConfigurationUpdate-DscConfiguration之後。

每當我執行 DSC 配置或更新它時,都會從 CA 請求新證書。顯然這不是我真正的意圖。您將如何添加在節點上評估的 PowerShell DSC 塊並在需要應用資源塊時動態檢查?

這個想法是讓塊檢查合適的證書並生成某種在 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 執行

引用自:https://serverfault.com/questions/951248