我正在尝试根据新证书添加到商店的时间来触发任务计划以启动 powershell 脚本Local Computer\Personal\Certificates
。
为了测试目的,证书是使用 openssl 创建的自签名证书。
在生成证书时,非PKCS12 库不要触发事件查看器中发现的事件Microsoft-Windows-CertificateServicesClient-Lifecycle-System/Operational
。
但是,pkcs12 证书可以。
有什么想法可以让非 pkcs12 证书发挥同样的作用吗?
答案1
是否有一个定期调用的脚本,将所有现有证书的指纹写入文件?每次运行时,如果发现文件中没有的新指纹,它可以触发脚本其余部分需要执行的操作,并更新文件。
$file = ".\certsSeenBefore.txt"
# make sure the above file exists
If (-not (Test-Path $file)) { New-Item $file -ItemType File }
# for each cert, see if the thumbprint is in the file
Get-ChildItem Cert:\LocalMachine\My\ | foreach {
if ((Get-Content($file)) -contains $_.Thumbprint)
{
# all good
}
else
{
Write-Host "Ah Ha! THere's a new cert $_.Subject"
# Add the thumbprint to the file so it doesn't get triggered again.
Add-Content $file -Value $_.Thumbprint
# call whatever it is you need to do
# ....
}
}
抱歉,我知道这不是一个完整的答案,但是没有足够的信息来发表评论。