Я пытаюсь запросить сертификат у компьютера, который находится в том же домене, что и наш корпоративный CA-сервер. Все работает нормально, но я в одном шаге от того, чтобы в моем скрипте не было взаимодействия с пользователем.
Я в основном изменил следующий скрипт, не содержащий параметров, и удалил параметры SAN:
https://gallery.technet.microsoft.com/scriptcenter/Request-certificates-from-b6a07151
После выполнения следующей команды для создания нового запроса из INF-файла я получаю всплывающее окно:
Invoke-Expression -Command "certreq -new `"$inf`" `"$req`""
Machine context template conflicts with user context.
Когда я нажимаю ОК, все работает нормально. Создается новый запрос, и остальная часть сценария работает нормально. Но я не могу найти способ нажать «ОК» программно.
У инструмента
certreq есть -q
(для подавления интерактивных подсказок) и -f
(для принудительного / обходного действия), но ничего из этого не работает.
certreq -new -q $inf $req
ИЛИ с использованием -q
и -f
приводит к:
Active Directory Enrollment Policy
{<GUID>}
ldap:
Machine context template conflicts with user context.
Certificate Request Processor: The specified role was not configured for the application 0x8004e00c (-2147164148 CONTEXT_E_ROLENOTFOUND)
Я застрял здесь. Любая помощь будет оценена!