TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #972 977
🖥 Windows зависла на "Подготовке Windows": как проверить состояние удаленно

Типичная ситуация: после установки обновлений, компонентов или серверных ролей отправляем Windows в перезагрузку и видим сообщение:


Выполняется подготовка Windows.
Не выключайте компьютер.


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

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


PsExec.exe \\192.168.158.10 -u localadmin powershell.exe


Если нужно запустить процесс в интерактивной сессии:


PsExec.exe \\192.168.158.10 -i 1 -u localadmin powershell.exe


В открывшейся консоли первым делом стоит проверить свободное место:


Get-Volume


Посмотреть процессы с высокой нагрузкой:


Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 15 Name, Id, CPU


И найти службы, зависшие в переходном состоянии:


Get-CimInstance Win32_Service |
Where-Object State -eq "Stop Pending" |
Select-Object Name, DisplayName, ProcessId, State


Часто во время обновлений в списке встречается служба установщика модулей Windows:


TrustedInstaller


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


Get-Content C:\Windows\Logs\CBS\CBS.log -Tail 50


Принудительное завершение процесса - крайняя мера:


taskkill /PID <ProcessId> /F


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

Когда Windows загрузится, стоит проверить хранилище компонентов и системные файлы:


DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow


Дополнительно проверьте результат установки обновлений:


Get-WinEvent -FilterHashtable @{
LogName = "System"
StartTime = (Get-Date).AddHours(-6)
} |
Where-Object Message -match "update|servicing|TrustedInstaller" |
Select-Object TimeCreated, Id, LevelDisplayName, Message


#windows #psexec

🧑‍💻 NetworkAdmin
  • 👍 15
More from @networkadminru
  1. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  2. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  3. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  4. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  5. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
  6. Sep 17, 2026🌲 Как посмотреть дерево процессов в Linux: htop, ps и pstree Когда нужно понять, какой пр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →