Самое простое решение - включить ответ в скрипт следующим образом:
echo Y | CertUtil.exe ....
Этот метод не всегда работает для всех программ, поэтому он все еще нуждается в некотором тестировании на вашей стороне.
Для сообщений вы можете использовать nircmd с dlg
параметром.
В сценарии вы также можете использовать встроенную команду, timeout /t seconds
чтобы дать окну сообщения заданное количество секунд, в течение которых они появляются.
Вот выдержка из файла справки:
nircmd.exe dlg [Process Name] [Window Title] [Action] [Parameters]
Позволяет взаимодействовать со стандартными диалоговыми окнами и окнами сообщений Windows. Когда диалоговое окно открыто, вы можете использовать эту команду, чтобы «щелкнуть» по кнопкам ok / cancel / yes / no или заполнить текстовые поля в диалоговом окне.
Следующая команда выберет ответ «Да» для любого диалогового окна вопроса процесса Explorer:
dlg "explorer.exe" "" click yes
Следующая команда выберет ответ «Отмена» для любого диалогового окна вопроса любого процесса:
dlg "" "" click cancel
Описание параметров:
[Имя процесса]: указывает процесс, который создал желаемое окно. Вы можете указать только имя процесса или полный путь процесса. Если этот параметр является пустой строкой (""), команда будет выполнена в любом процессе.
[Заголовок окна]: указывает заголовок окна, в котором вы хотите выполнить действие. Если этот параметр является пустой строкой (""), команда будет выполнена в любом окне, независимо от заголовка окна.
[Действие]: вы можете указать одну из следующих опций:
щелкните: нажмите указанную кнопку. Вы можете указать одно из следующих предопределенных значений (только для стандартных диалоговых окон Windows!): Да, нет, ок, отмена, повтор, игнорирование, закрытие, помощь. Вы также можете указать любой идентификатор элемента управления в виде числового значения.
settext: установить текст указанного элемента управления. Первый параметр этого действия указывает идентификатор элемента управления, а второй параметр - текст.