Перезавантаження сервера, який завис на етапі Preparing to configure Windows

Уже не перший раз стикаюся з такою проблемою в Windows Server 2008 R2 / Windows Server 2012 / R2: після установки оновлень або деяких ролей / компонентів сервер запитує перезавантаження, під час якої на екрані з'являється напис "Preparing to configure Windows. Do not turn off your computer"Або"підготовка до на будівництві Windows. Не вимикайте комп'ютер". На цьому етапі сервер завмирає і цей напис може висіти годинами. При цьому сервер продовжує бути доступний по мережі, але частина служб, в тому числі доступ до RDP, не доступні.

Як правило, в цьому випадку найшвидший спосіб вирішити проблему - перезавантажити сервер з харчування (хардрезет). Наприклад, віддалено перезавантажити фізичний сервер можна з консолі HP ILO, Dell iDRAC і Т.п., або з консолі Hyper-V, vSphere для віртуальних машин. Але в такому випадку є ймовірність порушити роботу ОС. Краще використовувати більш "м'який" спосіб скидання завислого при перезавантаженні сервера.

З іншого комп'ютера за допомогою оснастки Служби (Services) - services.msc віддалено підключимося до завислому сервера.

У списку служб сервера нескладно знайти службу Windows Modules Installer (Установник модулів Windows), що знаходиться в стані Stopping. Очевидно, саме ця служба заважає виконанню процедури коректної перезавантаження сервера.

Кнопки управління службою при цьому не доступні. У властивостях служби можна дізнатися ім'я виконуваного файлу: C: \ Windows \ servicing \ TrustedInstaller.exe

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

На будь-якому комп'ютері відкрийте вікно командного рядка і для завершення процесу TrustedInstaller.exe на сервері з ім'ям corp-man02 виконати наступну команду.

taskkill.exe / s corp-man02 / u corp \ admin_name / p P @ ssw0rd! / Im TrustedInstaller.exe

Те ж саме діяння можна виконати за допомогою утиліти Pskill з набору PSTools:

pskill.exe \\ corp-man02 TrustedInstaller.exe

Або PsExec:

psexec \\ corp-man02 taskkill / IM TrustedInstaller.exe / F

Після цього на екрані завислого сервера повинна з'явитися напис  Shutting down і через кілька миттєвостей він повинен коректно перезавантажиться.

Проблема зустрічається не тільки на серверних версіях Windows, але і на клієнтських Windows 7 / Windows 8 / Windows 10.