Добавление пользовательского скрипта в программу установки Windows

Скрипты установки Windows

Setupcomplete.cmd и ErrorHandler.cmd — это пользовательские скрипты, которые выполняются во время или после процесса установки Windows. Их можно использовать для установки приложений или выполнения других задач с помощью скриптов cscript/wscript .

  • %WINDIR%\Setup\Scripts\SetupComplete.cmd: этот скрипт выполняется с разрешениями локальной системы и запускается сразу после того, как пользователь увидит рабочий стол. Этот параметр отключен при использовании ключей продуктов OEM, за исключением выпусков Enterprise и операционных систем Windows Server.
  • %WINDIR%\Setup\Scripts\ErrorHandler.cmd: этот скрипт выполняется автоматически, когда программа установки обнаруживает неустранимую ошибку. Он выполняется с разрешением локальной системы.

Запуск скрипта после завершения установки (SetupComplete.cmd)

Порядок операций

  1. После установки Windows, но до появления экрана входа программа установки Windows ищет файл SetupComplete.cmd в каталоге %WINDIR%\Setup\Scripts\ .

  2. Если файл SetupComplete.cmd найден, программа установки Windows запускает скрипт. Программа установки Windows регистрирует действие в файле C:\Windows\Panther\UnattendGC\Setupact.log .

    Программа установки не проверяет коды выхода или уровни ошибок в скрипте после выполнения SetupComplete.cmd.

    Предупреждение

    Вы не можете перезагрузить систему и возобновить выполнение SetupComplete.cmd. Не следует перезагружать систему, добавив команду , например shutdown -r. Это приведет к неправильному состоянию системы.

  3. Если компьютер присоединяется к домену во время установки, групповая политика, определенный в домене, не применяется к компьютеру до завершения setupcomplete.cmd. Это необходимо для того, чтобы действие конфигурации групповая политика не мешало скрипту.

Запуск скрипта, если программа установки Windows обнаруживает неустранимую ошибку (ErrorHandler.cmd)

ErrorHandler.cmd удобно использовать при одновременной установке нескольких систем. Это помогает определить, когда возникает ошибка во время установки Windows. При этом программа установки автоматически запускает скрипт, который может содержать пользовательские команды или действия для устранения причины ошибки.

Если программа установки Windows обнаруживает неустранимую ошибку и ей не удается завершить установку, программа установки Windows ищет командный скрипт в следующем каталоге: %WINDIR%\Setup\Scripts\ErrorHandler.cmd. В зависимости от того, найден ли скрипт, будет выполняться одно из двух действий.

  • Если скрипт не найден, отображается диалоговое окно с текстом ошибки. Пользователь должен закрыть диалоговое окно, прежде чем программа установки Windows завершит работу.
  • Если скрипт найден, он выполняется синхронно. Диалоговое окно или текст ошибки не отображается. После завершения выполнения скрипта ErrorHandler.cmd программа установки Windows завершает работу.

В зависимости от этапа установки Windows компьютер вернется в среду, из которой была выполнена программа установки Windows, например в более раннюю версию операционной системы или среду предустановки Windows (Windows PE).

Могут возникать случаи, когда программа установки Windows обнаруживает несколько ошибок и запускает скрипт ErrorHandler.cmd несколько раз. При разработке кода для ErrorHandler.cmd убедитесь, что этот скрипт можно запустить несколько раз.

Использование ErrorHandler.cmd

Чтобы использовать ErrorHandler.cmd, можно выполнить одно из следующих действий:

  • Подключите образ и добавьте его в образ в папке %WINDIR%\Setup\Scripts\ErrorHandler.cmd. Отключите образ.

    -или-

  • Добавьте ErrorHandler.cmd во временное расположение файла (например, C:\Temp\ErrorHandler.cmd), а затем запустите программу установки Windows с параметром /m .

    Setup /m:C:\Temp
    

    Дополнительные сведения см. в разделе Параметры Command-Line программы установки Windows.

Использование автоматической настройки для выполнения скриптов

Создайте файл Unattend.xml с одним из этих параметров для запуска в процессе установки Windows. Его можно использовать с ключами продукта OEM.

Для запуска служб или команд, которые могут запускаться одновременно, используйте RunAsynchronousCommands.

Некоторые из этих параметров выполняются в контексте пользователя, другие — в контексте системы в зависимости от этапа настройки.

  • Добавьте Microsoft-Windows-Setup\RunAsynchronousCommand или RunSynchronousCommand , чтобы запустить скрипт при запуске программы установки Windows. Это может быть полезно для настройки разделов жесткого диска.

  • Добавьте Microsoft-Windows-Deployment\RunAsynchronousCommand или RunSynchronousCommand в этап конфигурации auditUser , чтобы запустить скрипт, который выполняется при переходе компьютера в режим аудита. Это может быть полезно для таких задач, как автоматическая установка или тестирование приложений.

  • Добавьте Microsoft-Windows-Shell-Setup\LogonCommands\AsynchronousCommand или FirstLogonCommands\SynchronousCommands для запуска после запуска при первом включении компьютера (OOBE), но до того, как пользователь увидит рабочий стол. Это может быть особенно полезно для настройки приложений или содержимого для конкретного языка после того, как пользователь уже выберет свой язык.

    Используйте эти скрипты экономно, так как длинные сценарии могут помешать пользователю быстро открыть начальный экран. Для розничных версий Windows к этим сценариям применяются дополнительные ограничения. Дополнительные сведения см. в руководстве по лицензированию и политике в Центре партнеров OEM.

    Примечание

    При добавлении скрипта с помощью FirstLogonCommands он активируется при следующей загрузке, даже если вы загружаетесь в режиме аудита с помощью клавиш CTRL+SHIFT+F3. Чтобы загрузиться в режим аудита без активации этих скриптов, добавьте параметр Microsoft-Windows-Deployment\Reseal\Mode = Audit.

Технический справочник по установке Windows. Развертывание пользовательского образазагрузки Windows в режиме аудита или при первом включении компьютера. Добавление драйверов устройств в Windows во время установки Windows