【发布时间】:2017-09-05 18:34:28
【问题描述】:
我需要使用 PowerShell 脚本来选择“证书模板名称”作为“机器”的证书。在 certmgr.msc 中,它具有值为“计算机”的“证书模板”。在详细信息中,相同的“证书模板名称”为“机器”。
如何在 PowerShell 脚本中使用这些值?
到目前为止,我有:
get-childitem cert:\localmachine\my | where-object {$_.}
我几乎尝试了所有可以加载智能感知的方法,但找不到任何满足我需求的方法。
谢谢,
【问题讨论】:
-
您在哪里看到该信息,例如在
certmgr.msc中?你试过Get-ChildItem cert:\localmachine\my | Get-Member -Force吗? -
我不知道你会如何在 PowerShell 中处理它,但 X509CertificateCollection2.Find(X509FindType.FindByTemplateName, templateNameString, false) 可以做你想做的事。
-
证书本身不包含模板名称,仅包含模板的对象标识符。您可以从 Active Directory 中提取特定证书模板的 OID,然后根据适当的扩展名进行过滤
-
@sodawillow 证书模板,一旦我打开个人证书,就列在最右边。证书模板名称列在右键单击 > 打开 > 详细信息中。
-
@SauerTrout 如上所述,这不是证书本身的一部分。 certmgr GUI 从 AD 获取模板名称。