Назад | Перейти на главную страницу

Есть ли способ остановить принудительный перезапуск Windows 7 после обновления?

Есть ли способ остановить принудительный перезапуск Windows 7 после обновления? Это не перезапуск, который происходит с Центр обновления Windows; это принудительный перезапуск, который отображает диалоговое окно «Требуется перезапуск системы» и обеспечивает неизбежный обратный отсчет до перезапуска. Я пришел к выводу, что эти перезагрузки происходят из-за политик SCCM и администратора. Наши системные администраторы вряд ли изменят эти политики, поэтому я ищу другие средства, чтобы лучше справиться с перезагрузками.

Хотя я понимаю необходимость своевременных обновлений, в моей рабочей среде эти обновления происходят всякий раз, когда обновления выталкиваются, что обычно происходит в процессе выполнения мной чего-то важного. Я не хочу, чтобы эти обновления происходили полностью; Я просто хочу отложить или приостановить их, пока не буду готов.

Если вы находитесь в середине одного из этих обратных отсчетов, у вас нет выбора, кроме как сохранить свою работу и дать системе перезагрузиться. Вы должны предотвратить их появление, в первую очередь, остановив службу, отвечающую за них: Служба SMS Host Agent.

Как только эта служба запущена, ее нельзя остановить, даже если вы являетесь администратором. Когда системные администраторы отправляют обновление, эта служба отображает диалоговое окно «Требуется перезагрузка системы» и устанавливает таймер выключения. shutdown /a не будет работать, потому что во время обратного отсчета не выполняется выключение (вам нужно будет быстро запустить shutdown /a когда начинается фактическое завершение работы, на что у вас может быть или не быть времени). Завершение работы диалогового окна также не приводит к прерыванию процесса завершения работы.

Чтобы остановить такие типы перезапусков, вам нужно взломать процесс обновления. Файл, связанный с Служба SMS Host Agent является:

CcmExec.exe

который живет в:

C:\Windows\SysWOW64\CCM

Вам нужно переименовать CcmExec.exe в качестве администратора для чего-то еще (например, CcmExec.exe.old), а затем перезагрузите компьютер; это единственный способ остановить службу. После перезагрузки служба не запускается, потому что не может найти CcmExec.exe. Теперь ваш компьютер не должен перезагружаться. Также установите запуск Служба SMS Host Agent к Manual из Automatic поэтому он не запускается во время загрузки.

НОТА: это хорошая идея перезапустить Служба SMS Host Agent как только вы будете готовы принимать обновления. это НЕ Хорошая идея - бесконечно обходиться без обновлений системы, и ваши системные администраторы в конечном итоге поймут, что вы делаете, если вы слишком долго не будете обновляться.

Я создал пару командных файлов, которые отключают и включают службу при запуске от имени администратора. Следующий сценарий переименовывает исполняемый файл и перезагружает компьютер:

ren "C:\Windows\SysWOW64\CCM\CcmExec.exe" "C:\Windows\SysWOW64\CCM\CcmExec.exe.old"
shutdown /r /t 5 /c "System will shutdown in 5 seconds to stop the SMS Host Agent service"
pause

Следующий сценарий переименовывает его обратно и запускает Служба SMS Host Agent:

ren "C:\Windows\SysWOW64\CCM\CcmExec.exe.old" "C:\Windows\SysWOW64\CCM\CcmExec.exe"
sc start CcmExec
echo "Started SMS Host Agent"
pause