我们有一个证书服务器,用户可以从以下 URL 下载他们的证书(用户模板):http://本地主机/certsrv。
我现在想创建一个脚本来执行以下操作:
- 从个人证书存储中删除现有证书。
- 在个人证书存储中安装新证书。
我已经编写了脚本,它可以删除证书,但由于 Windows 7 不支持该命令,因此无法进行安装。
这是我的代码:
# User Details
$dom = $env:userdomain
$usr = $env:username
$fulname = ([adsi]"WinNT://$dom/$usr,user").fullname
#get certificate & Remove the certificate
$Cert = Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object {$_.Subject -match "$fulname"} | Remove-Item
#Install new certificate
Get-Certificate -Template User -DnsName mydomain.com -CertStoreLocation cert:\CurrentUser\My
答案1
我相信您需要使用certutil.exe
Windows 7 上的命令行工具。它的用法记录在这里:https://technet.microsoft.com/en-us/library/cc732443(v=ws.11).aspx并在安装证书服务时可用。
例如:
certutil -addstore -user -f "My" "Path to certificate\certificate.cer"
您可以在 PowerShell 脚本中使用此工具。