2

Я пытаюсь запустить расписание задач для запуска сценария powershell, основанного на добавлении нового сертификата в хранилище Local Computer\Personal\Certificates .

В целях тестирования сертификаты являются самозаверяющими и создаются с использованием openssl.

Поскольку сертификаты генерируются, non- pkcs12 не запускает событие, найденное в программе просмотра событий Microsoft-Windows-CertificateServicesClient-Lifecycle-System/Operational .

Тем не менее, сертификаты pkcs12 делают.

Любые идеи, как получить не-pkcs12 сертификаты, чтобы сделать то же самое?

1 ответ1

0

Как насчет того, чтобы периодически вызывать скрипт, который записывает отпечатки всех существующих сертификатов в файл? Каждый раз, когда он запускается, если обнаруживается новый отпечаток, которого нет в файле, он может запускать все, что нужно сделать остальному сценарию, и обновлять файл.

$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

        # ....

    }
}

Извините, я знаю, что это не полный ответ, но у меня недостаточно информации, чтобы комментировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .