Byr*_* C. 9 powershell pki certificate-authority windows-server-2012-r2
我最近重建了我的 PKI,我想删除颁发给我网络中所有客户端计算机的证书。听起来像是 Powershell 的工作!所以我写了这个脚本由 GPO 分发,从 SysVol 运行,并在启动时在客户端机器上触发:
set-location cert:\LocalMachine\My
$certname = $env:COMPUTERNAME + ".domain.com"
get-item * | %{
if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force }
}
Run Code Online (Sandbox Code Playgroud)
从提升的命令提示符:
-WhatIf
添加到Remove-Item
脚本中的命令时,同样没有错误并且证书不会被删除。这是权限问题吗?有没有更聪明/更简单的方法来做到这一点?
谢谢!
我的答案是“有没有更聪明/更简单的方法来做到这一点?” 你问题的一部分。这个脚本成功地为我删除了一个 go daddy 证书
$Path = 'Cert:\LocalMachine\AuthRoot\'
$CertList = @()
$CertList = Get-ChildItem -Path $Path | Where-Object {$_.Issuer -like "CN=GO*"}
foreach($Cert in $CertList){
remove-item "$($Path)$($Cert.Thumbprint)" -Force -WhatIf
}
Run Code Online (Sandbox Code Playgroud)
我添加了一个,-WhatIf
以便此代码对“复制\粘贴\运行”folx 没有危险。现在,你需要适应$Path
,Where-Object
并添加$certname
变量,但上面的模板应该有你去。
归档时间: |
|
查看次数: |
3660 次 |
最近记录: |