根據簽署範本查找已頒發的證書

根據簽署範本查找已頒發的證書

我正在尋找一種方法來根據 CA 的簽名範本查詢頒發的憑證。這是我開始使用的(基於 PSPKI 4.0.0 模組);

$AllCerts= Get-CertificationAuthority -name CA_Authority | Get-IssuedRequest -Property Email,CertificateTemplate, CertificateTemplateOID
$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -eq 'CustomTemplate'})

...但是,查詢未找到“CustomTemplate”匹配項。我甚至嘗試使用通配符邏輯;

$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -like '*CustomTemplateName*'})

當我跑步時,我可以看到這些值就在那裡;

Get-CertificateTemplate | Select Name, DisplayName, OID 

但查詢未找到「CustomTemplateName」的符合項目。有沒有辦法真正取得已頒發證書範本的「友善名稱」資訊?

答案1

對於自訂模板,$row.CertificateTemplate屬性包含模板物件識別碼 (OID),而不是名稱。僅針對 V1 範本(內建且不可編輯)傳回名稱。

因此,在您的情況下,您必須先取得請求的範本 OID,然後進行過濾:

$AllCerts= Get-CertificationAuthority -name CA_Authority | Get-IssuedRequest -Property Email,CertificateTemplate, CertificateTemplateOID
$OID = (Get-CertificateTemplate -Name 'CustomTemplate').Oid.Value
$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -eq $OID})

相關內容