Программа установки Windows Vista спроектирована таким образом, что в конце установки она ищет в папке %WINDIR%\Setup\Scripts файл SetupComplete.cmd. Если таковой находится, все внесенные в него команды выполняются автоматически до первого входа пользователя в систему. Причем выполняются они от имени системной учетной записи LocalSystem.
Важно! В Windows 10 файл не отрабатывает при использовании ключей продукта ОЕМ (документация). В этом случае используйте FirstLogonCommands.
В остальных случаях файл SetupComplete.cmd можно применять для реализации широкого диапазона задач - установки приложений, импорта параметров реестра, создания учетных записей, удаления временных файлов и так далее.
Файл SetupComplete.cmd не входит в состав операционной системы, поэтому его нужно создать самостоятельно и разместить в указанной папке. В статье Добавление файлов в дистрибутив Windows Vista рассматриваются различные способы решения этой задачи. Здесь же я рассмотрю вариант с использованием $OEM$ папок.
В папке $OEM$ нужно создать папку $$, затем в папке $$ создать папку Setup и, наконец, в папке Setup создать папку Scripts. В папке Scripts размещается файл SetupComplete.cmd, в который вносятся необходимые вам команды. В итоге должна получиться такая структура:
Как уже было сказано выше, команды в файле могут быть различными. Ниже приводится несколько таких команд.
@echo off
:: Удаление учетной записи Admin из группы Пользователи
net localgroup Пользователи Admin /delete
:: Назначение переменной DiskRoot
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%D:\DiskRoot.txt set DiskRoot=%%D:
:: Импорт твиков реестра
start /wait regedit /s %DiskRoot%\Install\hklm.reg
:: Установка приложения 7-zip
start /wait %DiskRoot%\Install\7z464.msi /qn
exit