Как я могу запустить скрипт cmd во время установки Windows где-то между началом фазы 3 и началом фазы 5? Мне нужно скопировать аппаратно-зависимые файлы с USB-накопителя на диск C: до того, как сработает обнаружение аппаратного обеспечения. Я использую wmic, который работает в WinPE, чтобы определить оборудование.

РЕДАКТИРОВАТЬ: Если кто-то заинтересован ...

В загрузке.Wim\ index2:

  1. переустановите setup.exe в usetup.exe
  2. Изменить Boot.Вим-индекс:2-Root\Windows\system32\ Startnet.cmd
    wpeinit
    start /w usetup.exe /unattend:yourfile.xml /noreboot
    do what you want here
    wpeutil reboot
    

Используйте это для манипулирования файлами. Если вам нужно работать в Windows, добавьте ваши скрипты в файл \windows \setup \scripts \SetupComplete.cmd.

Имейте в виду, что SetupComplete.cmd работает скрытно, поэтому убедитесь, что он работает без вмешательства.

1 ответ1

3

Согласно этой статье Microsoft Technet, вы можете запустить собственный сценарий в конце фазы 3, выполнив следующие действия:

После завершения установки Windows можно выполнить дополнительные настройки, добавив команды в файл% WINDIR%\Setup\Scripts\SetupComplete.cmd. Этот файл позволяет устанавливать дополнительные приложения, запускать пользовательские сценарии Windows (cscript/wscript) или вносить другие изменения в систему до входа пользователя в систему.

Команды в файле Setupcomplete.cmd выполняются с правами локальной системы.

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

Если файл SetupComplete.cmd найден, файл выполняется. В противном случае установка продолжается в обычном режиме. Программа установки Windows регистрирует действие в файле Setupact.log.

Вы не можете перезагрузить систему и возобновить работу SetupComplete.cmd.

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

Функциональность Setupcomplete.cmd отличается от команд RunSynchronous и RunAsynchronous тем, что Setupcomplete.cmd запускается после завершения установки Windows, а команды RunSynchronous и RunAsynchronous выполняются во время установки Windows.

Итак, любой скрипт, который вы хотите запустить, просто нужно добавить в файл «SetupComplete.cmd» и поместить в% WINDIR%\Setup\Scripts внутри образа Windows. Процесс установки автоматически запустит его, если он найдет сценарий там.

(Извините за копирование / вставку, но на самом деле ничего особенного.)

редактировать

В качестве примечания: если файлы, которые вы копируете, являются файлами аппаратного драйвера, вы можете просто добавить их в образ Windows PE или сам образ Windows и не беспокоиться о сценарии. Вот статья Microsoft Technet, в которой рассказывается, как это сделать. (Я не собираюсь копировать / вставлять его, так как это слишком много.)

Если это просто другие общие файлы (изображения, документы и т.д.), Вы также можете добавить их в любую папку в образе Windows. Вот как это сделать с помощью DSIM: статья Microsoft Technet Статья находится в библиотеке Windows 8/8.1, но это те же шаги для Windows 7.

Я бы избегал скриптов только для копирования файлов (если это все, что делает ваш скрипт). Я хотел бы добавить файлы или драйверы к изображению, и тогда вам не нужно беспокоиться о том, что произойдет, если ваш скрипт по какой-то причине не работает.

Редактировать 2

В соответствии с вашим комментарием ниже и тем, что вы указали, что используете WMIC во время WinPE для определения аппаратного обеспечения, вы можете добавить сценарий в WinPE, как подробно описано в этой статье Microsoft Technet. Я думаю, что это может быть слишком рано, чтобы скопировать файлы, но я должен был бы проверить, чтобы знать наверняка. Я знаю, что я добавил драйвер для сетевого интерфейса в образ WinPE, но это немного отличается от того, что вы делаете.

Тем не менее, я думаю, что ваш лучший вариант - использовать Microsoft Deployment Toolkit (MDT) и настроить драйверы на основе профилей оборудования и / или марки / модели компьютера. Он предназначен именно для этого типа сценария и должен позволять вам настраивать, какие драйверы установлены, когда и где. Это может быть немного сложнее, чем просто использование Windows AIK, но если ваши требования к драйверу именно такие, я думаю, вы получите лучшие результаты.

Учебники, которым я следовал, когда впервые начал использовать MDT, находятся здесь:

  1. WindowsNetworking.com - Развертывание Vista с использованием AIK - Несмотря на то, что это ориентировано на Vista, большинство шагов для 7 одинаковы. В зависимости от того, насколько вы знакомы с AIK, вы можете перейти к 24-й части, в которой рассказывается о MDT.
  2. WindowsNetworking.com - Развертывание 7 с использованием AIK - это почти продолжение предыдущей ссылки, поскольку он не рассматривает все детали первой, а только изменения между Vista AIK и 7 AIK. Раздел об управлении драйверами с помощью MDT начинается в части 23. Я думаю, что части 25 и 26 были бы самыми важными для вас.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .