В настоящее время я пишу сценарий Powershell и столкнулся с трудностями. По сути, скрипт запрашивает, утверждает и получает новые сертификаты из нашего центра сертификации с помощью certreq.exe и certutil.exe.
Пока что у меня есть запрос и утверждение, работающие нормально, но как только я пытаюсь получить недавно утвержденный сертификат, я получаю сообщение «имя каталога недействительно» со ссылкой на центр сертификации. Я использую ту же строку -config для всех остальных команд, но она не работает при вызове certreq.exe -retrieve. Если я удалю его, мне будет предложено выбрать правильный CA из списка, из которого есть только один. Я бы очень хотел избежать этого, поскольку я пытаюсь автоматизировать продление более 450 сертификатов, и необходимость сидеть здесь и нажимать кнопку для каждого из них в некоторой степени сводит на нет весь смысл.
У кого-нибудь есть идеи?
Спасибо.
Больше информации:
Скрипт Powershell работает как таковой:
У меня это работает в сценариях PowerShell:
invoke-expression -command "certreq -config `"$OnlineCA`" -Retrieve $RequestId `"$CertificateFileName`" "
Попробуйте использовать -config
параметр. Посетите страницу TechNet для получения дополнительных сведений о вариантах, включенных в certreq.exe
и certutil.exe
.
https://technet.microsoft.com/en-us/library/dn296456.aspx
Я знаю, что слишком поздно отвечать на этот вопрос, но, надеюсь, это поможет кому-то другому.