Как отключить всплывающее окно при использовании certreq для запроса сертификата от ЦС предприятия? - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь запросить сертификат у компьютера, который находится в том же домене, что и наш корпоративный 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)

Я застрял здесь. Любая помощь будет оценена!

1 Ответ

1 голос
/ 07 мая 2019

Проблема в том, что шаблон имеет вид Computer, а не User.Это означает, что запрос должен быть создан в контексте учетной записи компьютера.Это означает, что вы должны запустить скрипт как SYSTEM, Administrator или любую другую учетную запись, которую можно идентифицировать как компьютер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...