证书更新、更换时触发事件

证书更新、更换时触发事件

我正在尝试根据新证书添加到商店的时间来触发任务计划以启动 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

        # ....

    }
}

抱歉,我知道这不是一个完整的答案,但是没有足够的信息来发表评论。

相关内容