Чтобы запускать рецепты на операционных системах (ОС) Windows, DCImanager использует оболочку PowerShell. Полное имя исполняемого файла: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe.
Пояснения
%windir% — директория сервера, в которую установлена операционная система.
Обратите внимание!
Статья актуальна только для Windows Server 2016.
Для корректной работы рецептов используйте последний актуальный шаблон операционной системы.
Алгоритм запуска скрипта в общем виде
Проверка значения макроса $HAS_RECIPE. Выполняется в файле ответов для установки Windows /DCI/ISPsystem__Windows Server 2016/Unattend.xml. Если значение равно единице, то разрешить удалённый запуск скриптов на сервере: запуск скрипта winrm_listener.ps1.
Полное имя
/DCI/ISPsystem__Windows Server 2016/win2016/sources/$OEM$/$$/SETUP/SCRIPTS/winrm_listener.ps1
CODE
Загрузка файла рецепта на сервер по URL из макроса $AFTER_INSTALL_SCRIPT_HTTPS.
mydci.com — IP-адрес или доменное имя сервера с DCImanager;
randId — уникальный идентификатор рецепта.
Запуск рецепта на выполнение.
Автоматическое отключение возможности запускать скрипты удалённо. Для этого запускается скрипт winrm_disabler.ps1:
Полное имя
/usr/local/mgr5/etc/winrm_disabler.ps1
CODE
Параметры установки ОС
Общая информация об операции установки ОС хранится в файле /usr/local/mgr5/var/operations/operId.server_os_install. Например, какой был использован шаблон ОС, рецепт или пароль для установки. Значения макросов $HAS_RECIPE и $AFTER_INSTALL_SCRIPT_HTTPS, которые использовались при установке ОС, хранятся в /usr/local/mgr5/var/operations/operId.server_os_install.params.
Пояснения
operId — уникальный идентификатор операции.
Логирование
Журнал выполнения скриптов записывается в /usr/local/mgr5/var/runrecipe_dci.log. Чтобы в него сохранялись результаты выполнения скриптов, повысьте уровень логирования модулей runrecipe, dci_osinstall, dci_operations до 9. Для этого в /usr/local/mgr5/etc/debug.conf добавьте строки: