You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时基于Issuer与证书模板删除个人证书?

基于颁发者和证书模板删除证书的实现方案

要同时匹配颁发者(Issuer)和证书模板(Certificate Template)两个条件删除证书,核心是在Where-Object中添加证书模板的判断逻辑,具体实现如下:

1. 核心思路

证书模板信息存储在证书的扩展字段里,我们需要先从证书对象的Extensions属性中提取模板名称,再和颁发者条件用-and关联,实现双重匹配。

2. 修改后的完整脚本

Get-ChildItem Cert:\LocalMachine\My |
Where-Object {
    $_.Issuer -match 'XXX' -and
    ($_.Extensions | Where-Object { $_.Oid.FriendlyName -eq 'Certificate Template Name' }).Format(0) -match '目标证书模板名称'
} | Remove-Item -WhatIf

3. 关键细节说明

  • 替换XXX为你需要匹配的颁发者标识,目标证书模板名称替换为实际要删除的证书模板名称(比如User、WebServer这类)
  • 脚本末尾的-WhatIf是安全验证参数,执行时只会列出待删除的证书,不会实际执行删除操作。确认结果无误后,再移除-WhatIf执行真实删除
  • 如果你的环境习惯用OID匹配证书模板,可把模板判断逻辑改成$_.Oid.Value -eq '目标模板OID'

辅助:快速确认证书模板信息

如果不确定目标证书的模板名称,可先运行以下脚本列出所有证书的颁发者和模板信息:

Get-ChildItem Cert:\LocalMachine\My | ForEach-Object {
    $template = ($_.Extensions | Where-Object { $_.Oid.FriendlyName -eq 'Certificate Template Name' }).Format(0)
    [PSCustomObject]@{
        Thumbprint = $_.Thumbprint
        Issuer     = $_.Issuer
        Template   = $template
    }
}

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:12:08