Стандартный установщик setup.exe в дистрибутивах Windows может использоваться для интерактивной установки операционной системы или обновлению версии ОС на компьютере. Кроме интерактивного режима, setup.exe поддерживает большое количество параметров командной строки, которые будут полезны системным администраторам. С помощью параметров
setup.exe
можно автоматизировать обновление билда (версии) Windows 10/11 на компьютерах пользователей с помощью SCCM, MDT или других средств автоматизации.
В этой статье мы покажем, как получить установочный ISO образ с последним билдом Windows 11 (в нашем примере это 24H2), с помощью параметров командной строки setup.exe выполнить проверку совместимости компьютера с новой версией Windows и выполнить обновление билда (in-place upgrade) в фоновом режиме.
Параметры командной строки установщика Windows (setup.exe)
При обычном запуске программы установки Windows (
setup.exe
) из установочного ISO запускается графический мастер установки/обновления. Однако у программы setup.exe есть большое количество параметров командной строки, позволяющих управлять процессом обновления версии ОС (вплоть до полностью автоматического обновления в фоновом режиме).
Общий синтаксис и доступные параметры утилиты Setup.exe перечислены ниже:
/1394Debug:<channel>
[BaudRate:<baudrate>]
/AddBootMgrLast
/Auto {Clean | DataOnly | Upgrade}
/BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}
/BusParams:<bus.device.function>
/CompactOS {Enable / Disable}
/Compat {IgnoreWarning / ScanOnly}
/CopyLogs<location>
/Debug:<port> [BaudRate:<baudrate>]
/DiagnosticPrompt {enable | disable}
/DynamicUpdate {enable | disable}
/EMSPort: {COM1 | COM2 | off} [/emsbaudrate:<baudrate>]
/InstallDrivers<location>
/InstallFrom<path>
/InstallLangPacks<location>
/m:<folder_name>
/MigNEO Disable
/MigrateDrivers {all | none}
/NetDebug:hostip=<w.x.y.z>,port=<n>,key= <q.r.s.t>[,nodhcp][,busparams=n.o.p]
/NoReboot
/PKey<product key>
/Priority Normal
/PostOOBE<location> [\setupcomplete.cmd]
/PostRollback<location> [\setuprollback.cmd] [/postrollbackcontext {system / user}]
/Quiet
/ReflectDrivers<location>
/ResizeRecoveryPartition {Enable / Disable}
/ShowOOBE {full / none}
/Telemetry {Enable / Disable}
/TempDrive <drive_letter>
/Unattend:<answer_file>
/Uninstall {enable / disable}
/USBDebug:<hostname>
/WDSDiscover
/WDSServer:<servername>
Список доступных параметров установки можно вывести так:
setup.exe /?
Подробную информацию об всех опциях setup.exe и возможных значениях можно получить на странице документации: https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options?view=windows-11
Генерация актуального установочного ISO образа Windows 11
Чтобы выполнить обновление, вам нужно получить установочный ISO образ с последней версией Windows (на данный момент это Windows 11 24H2).
Вы можете сгенерировать установочный ISO образ с помощью официальной утилиты Media Creation Tool или скачать актуальный Windows 11 multi-edition x64 ISO со страницы загрузки Microsoft (https://www.microsoft.com/en-us/software-download/windows11)
Смонтируйте полученный ISO образ в Windows и распакуйте содержимое образа на файловый сервер.
Проверка совместимости системы с новым билдом Windows 11
Прежде чем приступать к обновлению ОС, нужно проверить, совместим ли компьютер с новым билдом Windows 11, который находится в установочном образе. Откройте командную строку, перейдите в каталог с образом и выполните:
cd c:\Iso\W1124h2
start /wait SETUP.EXE /Auto Upgrade /NoReboot /DynamicUpdate Disable /Compat ScanOnly
Здесь используются такие параметры setup.exe:
- /Auto Upgrade – автоматический режим обновления;
- /NoReboot – запретить перезагрузку компьютера;
- /DynamicUpdate Disable —не нужно загружать последние обновления через Windows Update;
- /Compat ScanOnly – выполнить только проверку совместимости, без выполнения обновления.
В данном случае мастер обновления вернул, что обновление невозможно, т.к. компьютер не совместим с требованиями из-за недостаточного размер системного диска.
Можно скрыть графическое окно мастера обновления Windows 11 Setup и вернуть от setup.exe только результат проверки, добавив параметр Quiet .
start /wait setup.exe /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly
После выполнения этой команды, выведите содержимое переменной:
echo %errorlevel%
Здесь будет указан статус проверки на совместимость с новым билдом.
В нашем случае команда вернула значение
-1047526912
. Что означает это значение? (в скобках указан шестнадцатеричный код ошибки, его можно получить в калькуляторе преобразовав DEC в HEX значение)
-
-1047526896 (0xC1900210)
– ошибок совместимости не найдено -
-1047526912 (0xC1900200)
– компьютер не совместим с минимальными системными требованиями Windows 11 (см. как выполнить обновление Windows 11 на неподдерживаемом железе) -
-1047526904 (0xC1900208)
– несовместимое окружение (hard block) -
-1047526898 (0xC190020E)
– недостаточно свободного места на диске -
-1047526908 (0xC1900204)
– неверная редакция или архитектура образа
C:\$Windows.~BT\Sources\Panther\
, которые генерирует setup.exe в процессе проверки.Для получения более детальной информации о причине невозможности обновить версию Windows 11 используется утилита setupdiag.exe.
При наличии SCCM вы можете централизованно собрать значения статуса
errorlevel
с компьютеров пользователей простым пакетом с командой
setup.exe /Compat ScanOnly ….
Автоматическое обновления билда Windows 11 из командной строки
Если вы не выявили проблем совместимости, которые мешают обновлению билда Windows, можете запустить автоматическое обновление версии ОС на компьютере с помощью простого скрипта. Создайте в сетевой папке с распакованным образом Windows 11 bat файл run_win_upgrade.bat со следующим кодом:
start /wait .\W1124h2\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable /Copylogs %SystemDrive%\temp /EULA Accept /compat IgnoreWarning /NoReboot
Мы использовали такие параметры обновления:
- /Auto:Upgrade сохранить все установленные приложения и данные пользователей.
- /ShowOOBENone – пропустить экран первоначальной настройки (OOBE)после обновления Windows
- Можно добавить параметр /migratedrivers all. Используется для принудительного переноса всех драйверов. Если параметр не задан, установщик сам принимает решения по каждому драйверу индивидуально.
- /Copylogs %SystemDrive%\temp – поместить логи обновления в указанный каталог
- /Telemetry Disable – отключить запись и отправку отчетов телеметрии при установке
- /EULA Accept – принять лицензионное соглашение
- /Unattend:unattend.xml – позволяет задать файл ответа для установки (не используется в нашем примере)
- /Quiet – выполнить обновление в фоновом режиме. Все графические окна Windows Setup не будут отображаться пользователю (автоматическая установка обновления).
- /Priority low|normal – увеличить или уменьшить приоритет процесса Windows Setup
- /CompactOS enable|disable – включить или отключить сжатие файлов с помощью функции Compact OS (позволяет сэкономить место на диске)
- /BitLocker AlwaysSuspend — приостановить шифрование BitLocker при обновлении
- /Compat IgnoreWarning – игнорировать все сообщения о несовместимости, которые можно пропустить
- /NoReboot – не перезагружать компьютер автоматически после выполнения обновления.
Начиная с Windows 10 1607 вы можете указывать параметры установки через файл Setupconfig.ini. Этот файл должен находится в каталоге с setup.exe и содержать примерно такой текст, аналогичный команде выше:
[SetupConfig] NoRebootShowOobe=None Telemetry=Disable DynamicUpdate=Disable
Для запуска обновления Windows 11 с помощью файла параметров используется команда:
Setup.exe /ConfigFile setupconfig.ini