Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
WaitToKillServiceTimeout / Event 7043 Windows Server, AD и Роли

Служба зависает при выключении: настройка WaitToKillServiceTimeout

Обновлено: 15.09.2026  ·  Официальная база знаний

Симптомы зависания при выключении Windows Server

При отправке сервера или рабочей станции в перезагрузку экран останавливается на сообщении: Остановка служб..., Завершение работы или «Подготовка к выключению Windows» на 5–10 минут. В журнале событий фиксируется ошибка Event ID 7043.

СобытиеИсточникПричина
Event ID 7043Service Control ManagerСлужба не ответила на команду завершения работы (SERVICE_CONTROL_SHUTDOWN)
Event ID 7024Service Control ManagerСлужба аварийно прекратила работу при выключении с внутренним кодом ошибки

Диагностика зависающих служб и ускорение выключения

  1. Вычисление сбойной службы в Просмотре событий: откройте eventvwr.msc > Журналы Windows > Система. Создайте фильтр по источнику Service Control Manager и событиям 7043, 7044. В описании события будет прямо указано имя зависшей службы (например: «Служба MSSQLSERVER не смогла завершить работу за отведенное время»).
  2. Корректировка таймаута принудительного уничтожения служб в реестре: по умолчанию Windows ожидает 5000 мс (в десктопных) и до 120000 мс (в серверных ОС). Установите разумный лимит в 10–12 секунд:
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control" -Name "WaitToKillServiceTimeout" -Value "10000" -Force
  3. Ускорение выгрузки пользовательских процессов (HungAppTimeout):
    Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "WaitToKillAppTimeout" -Value "5000" -Force
    Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "AutoEndTasks" -Value "1" -Force
  4. Чистая остановка тяжелых служб перед перезагрузкой: если зависает база данных или брокер, выполняйте перезагрузку через командный файл со штатным предварительным гашением сервиса:
    net stop MSSQLSERVER /y
    Restart-Computer -Force

Внимание: Не устанавливайте значение WaitToKillServiceTimeout меньше 5000 мс (5 секунд) на серверах баз данных и контроллерах домена AD DS, иначе служба Active Directory (NTDS) или SQL Server не успеет сбросить кэш транзакций на диск, что приведет к повреждению базы при следующем старте.

Практический опыт инженера: Практика ITSTM: Причиной зависания серверов при выключении на 10 минут часто является служба групповых политик, ожидающая таймаута выполнения плохо написанного логаут-скрипта (Group Policy Shutdown Script). Проверьте раздел реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown.

Частые вопросы (FAQ)

В каких единицах измеряется параметр WaitToKillServiceTimeout?

Значение строкового параметра в реестре задается строго в миллисекундах (например, 10000 соответствует 10 секундам).

Что делает параметр AutoEndTasks = 1?

Он указывает Windows автоматически и без вывода диалоговых окон завершать зависшие пользовательские приложения при выходе из системы.

Почему антивирусные службы часто зависают при выключении?

Антивирусные агенты перехватывают выгрузку драйверов и сетевых соединений других служб и пытаются отправить телеметрию в облако в момент, когда сетевой стек уже остановлен.

Как принудительно перезагрузить зависший по RDP сервер немедленно?

Выполните команду shutdown.exe /r /f /t 0 — ключ /f принудительно закрывает все застрявшие приложения.