Документация DCImanager 5

Принцип работы рецептов для Windows

Чтобы запускать рецепты на операционных системах (ОС) Windows, DCImanager использует оболочку PowerShell. Полное имя исполняемого файла: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe

Пояснения
Обратите внимание!

Статья актуальна только для Windows Server 2016.

Для корректной работы рецептов используйте последний актуальный шаблон операционной системы.

Алгоритм запуска скрипта в общем виде

  1. Проверка значения макроса $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
  2. Загрузка файла рецепта на сервер по URL из макроса $AFTER_INSTALL_SCRIPT_HTTPS. 

    Формат URL
    https://mydci.com:1500/dcimgr?func=osinstall.afterscript&id=randId
    Пояснения
  3. Запуск рецепта на выполнение. 
  4. Автоматическое отключение возможности запускать скрипты удалённо. Для этого запускается скрипт winrm_disabler.ps1

    Полное имя
    /usr/local/mgr5/etc/winrm_disabler.ps1

Параметры установки ОС

Общая информация об операции установки ОС хранится в файле /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

Пояснения

Логирование

Журнал выполнения скриптов записывается в /usr/local/mgr5/var/runrecipe_dci.log. Чтобы в него сохранялись результаты выполнения скриптов, повысьте уровень логирования модулей runrecipe, dci_osinstall, dci_operations до 9. Для этого в /usr/local/mgr5/etc/debug.conf добавьте строки:

Пример файла debug.conf
.*runrecipe_dci 9
.*dci_osinstall 9 
.*dci_operations 9