Оновлення билда Windows 10 з командного рядка

Установник setup.exe в дистрибутиві Windows 10 має досить великий набір параметрів командного рядка, який може бути цікавий адміністратором для автоматизації та управління оновленням билда (версії / збірки) Windows 10 на комп'ютерах користувачів за допомогою SCCM і інших інструментів. У цій статті ми покажемо, як використовувати параметри setup.exe при виконанні оновлення та перевірки сумісності з новим білдом Windows 10 .

зміст:

  • Параметри встановлення Setup.exe в Windows 10
  • Генерація актуального ISO образу Windows 10
  • Перевірка сумісності (можливості апгрейда) Windows 10
  • Автоматизація оновлення версії Windows 10 з командного рядка

Параметри встановлення Setup.exe в Windows 10

Для поновлення билда Windows 10 використовується програма установки Windows setup.exe. При звичайному запуску setup.exe запускається графічний майстер поновлення Windows 10, проте у даної програми є велика кількість параметрів командного рядка, які можна використовувати для автоматизації оновлення ОС на комп'ютерах користувачів. Загальний синтаксис і параметри Setup.exe перераховані нижче:

/ 1394Debug: [BaudRate:] / AddBootMgrLast / Auto Clean | DataOnly | Upgrade / BitLocker AlwaysSuspend | TryKeepActive | ForceKeepActive / BusParams: / CompactOS Enable / Disable / Compat IgnoreWarning / ScanOnly / CopyLogs / Debug: [BaudRate:] / DiagnosticPrompt enable | disable / DynamicUpdate enable | disable / EMSPort: COM1 | COM2 | off [/ emsbaudrate:] / InstallDrivers / InstallFrom / InstallLangPacks / m: / MigNEO Disable / MigrateDrivers all | none / NetDebug: hostip =, port =, key = [, nodhcp] [, busparams = nop] / NoReboot / PKey / Priority Normal / PostOOBE [\ setupcomplete.cmd] / PostRollback [\ setuprollback.cmd] [/ postrollbackcontext  system / user] / Quiet / ReflectDrivers / ResizeRecoveryPartition Enable / Disable / ShowOOBE full / none / Telemetry Enable / Disable / TempDrive / Unattend: / Uninstall enable / disable / USBDebug: / WDSDiscover / WDSServer: 

Детальну інформацію про всіх опціях setup.exe і їх значеннях для Windows 10 можна отримати на сторінці документації: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line- options

Генерація актуального ISO образу Windows 10

Щоб оновити програмне забезпечення версії Windows 10б, вам потрібно отримати інсталяційний ISO образ з останньою версією Windows 10. На даний момент це Windows 10 1903.

Ви можете створити ISO образ з актуальною версією Windows 10 за допомогою Media Creation Tool.

  1. Скачайте Media creation tool (https://www.microsoft.com/ru-ru/software-download/windows10);
  2. запустіть файл MediaCreationTool1903.exe і за допомогою майстра вкажіть, що ви хочете "Створити інсталяційний носій (USB-пристрій, флеш пам'яті, DVD-диск або ISO файл)";
  3. Виберіть мову, редакцію та архітектуру (x64 або x86) образу Windows 10, який ви хочете створити;
  4. Вкажіть, що ви хочете створити ISO-файл і вкажіть бажане ім'я файлу;
  5. І дочекайтеся, поки Media Creation Tool закінчить завантаження інсталяційного ISO образу Windows 10 на ваш локальний диск.

Розпакуйте вміст ISO образу на файловий сервер.

Перевірка сумісності (можливості апгрейда) Windows 10

Перед апгрейдом версії Windows 10 ви можете перевірити, чи можливо відновити ваш білд Windows 10 до версії, яка міститься в зазначеному образі. Для цього виконайте команду:

start / wait setup.exe / Auto Upgrade / Quiet / NoReboot / DynamicUpdate Disable / Compat ScanOnly

Використовувані параметри:

  • / Auto Upgrade - автоматичний режим оновлення;
  • / Quiet - приховати діалогові вікна майстра оновлення;
  • / NoReboot - заборонити перезавантаження комп'ютера;
  • / DynamicUpdate Disable - вказує, що не потрібно завантажувати останні оновлення через Windows Update;
  • / Compat ScanOnly - виконати тільки перевірку сумісності, без виконання поновлення.

Сканування комп'ютера на сумісності з новий білдом Windows 10 займе якийсь час.

Ви можете відстежувати завершення процесу сканування системи за допомогою файлу C: \ $ Windows. ~ BT \ Sources \ Panther \ setupact.log. Сканування завершено, якщо в файлі міститься рядок:

Info MOUPG **************** SetupHost Logging End ****************

Результати аналізу на сумісність міститися у файлі C: \ $ Windows. ~ BT \ Sources \ Panther \ setuperr.log. Знайдіть останній рядок, яка виглядає так:

CSetupHost :: Execute (xxx): Result = xxxxxxxx

Це і є код результату перевірки.

Крім того, ви можете отримати код помилки при перевірці сумісності поновлення з командного рядка:

echo% errorlevel%

Отриманий код потрібно перетворити в шістнадцятковий формат.

Наприклад, команда повернула вам код -1047526896. Вам потрібно за допомогою калькулятора в режимі "Програміст" вставити код помилки в десятковому режимі (Dec). Щоб отримати шістнадцятковий код помилки, скопіюйте значення з поля Hex, відкинувши всі F на початку і додавши в початок 0x. Наприклад, в моєму випадку вийшов код 0xC1900210.

Найбільш поширення коди перевірки сумісності ОС з новою версією Windows 10:

  • 0xC1900210 - проблем не знайдено:
  • 0xC1900208 - виявлена ​​проблема сумісності;
  • 0xC1900204 і 0xC190010E - неможливо автоматичне оновлення (невірний редакція або архітектура Windows);
  • 0xC1900200 - комп'ютер не відповідає мінімальним вимоги для Windows 10l
  • 0xC190020E - недостатньо місця на диску;
  • 0xC1420127 - проблема при відключенні WIM файлу образу.
Більш детально інформацію про причини неможливості відновити версію Windows 10 можна отримати за допомогою утиліти setupdiag.exe.

У моєму випадку в балці setuperr.log була присутня помилка:

Error MOUPG CSetupHost :: Execute (412): Result = 0xC1900208 [gle = 0x00000003]

Дивимося лог SetupDiagResults.log, який сформувала утиліта SetupDiag. У балці зазначено, що є дві причини, які заважають виконати апгрейд Windows 10:

  • CompatBlockedApplicationAutoUninstall - знайдено несумісне додаток, яке потрібно видалити перед апгрейдом версії.
  • FindAbruptDownlevelFailure - інформація про останню помилку, коли записи в журналі несподівано обриваються.
Matching Profile found: CompatBlockedApplicationAutoUninstall, FindAbruptDownlevelFailure - BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5, 55882B1A-DA3E-408A-9076-23B22A0472BD SetupDiag version: 1.6.0.0

При цьому в кінці журналу зазначено, що перед оновленням потрібно видалити встановлений антивірус McAfee.

You must uninstall "McAfee VirusScan Enterprise" before continuing with the installation / update.

При наявності SCCM ви можете централізовано зібрати значення статусу errorlevel з комп'ютерів користувачів простим пакетом з командою setup.exe / Compat ScanOnly ... ..

Автоматизація оновлення версії Windows 10 з командного рядка

Якщо ви не виявили проблем сумісності, які заважають оновленню билда Windows 10, ви можете запустити оновлення на комп'ютері за допомогою простого скрипта. Створіть в мережевій теці з розпакованим дистрибутивом Windows 10 простий bat файл run_win10_upgrade.bat з наступним кодом:

start / wait. \ W101903 \ Windows10x64-1903_ru \ setup.exe / auto upgrade / DynamicUpdate disable / showoobe None / Telemetry Disable

В режимі / Auto: Upgrade при оновленні зберігаються всі програми і дані користувачів. Також ви можете використовувати режим / Auto: data, якщо потрібно зберегти тільки дані користувача, але не встановлені програми.

параметр / Migratedrivers all - використовується для примусового перенесення всіх драйверів. Якщо параметр не заданий, установник сам приймає рішення по кожному драйверу індивідуально.

Ви можете використовувати інші опції setup.exe при оновленні Windows 10.

Починаючи з Windows 10 1607 ви можете вказувати параметри установки через файл Setupconfig.ini. Цей файл повинен знаходиться в каталозі з setup.exe і містити приблизно такий текст, аналогічний команді вище:

[SetupConfig] NoReboot ShowOobe = None Telemetry = Disable DynamicUpdate = Disable

Для запуску оновлення Windows 10 за допомогою файлу параметрів використовується команда:

Setup.exe / ConfigFile setupconfig.ini