Windows shutdown exe reason codes
Всех приветствую на страницах блога, сегодня рассмотрим ситуацию, что у вас без вашего ведома перезагрузился компьютер. Перезагрузился не как в Windows 10 с постоянной перезагрузкой, в виде алерта в просмотре событий, а якобы плановая команда от имени системы с кодом 0x80020002. Рассмотрим почему и как это исправить и как этого избежать в будущем, так как не хорошо если это случится с сервером.
Вообще если бы это был обычный офисный компьютер или еще какой я бы не придал этому значения, но тут был мой рабочий админский комп и плюс компьютер одного безопасника. Первым делом как и нормальный человек я стал смотреть, события, как смотреть логи Windows я подробно рассказывал. Первое что я искал это сообщение с кодом
Процесс C:\Windows\system32\svchost.exe (ADM999) инициировал действие «Перезапустить» для компьютера ADM999 от имени пользователя NT AUTHORITY\СИСТЕМА по причине: Операционная система: восстановление (запланированное)
Код причины: 0x80020002
Тип выключения: Перезапустить
Комментарий:
Как видно из лога, было штатное завершение системы с кодом 0x80020002, и инициировала его система. Следующим шагом я подумал, что наверно это из за обновлений, идем далее в журнал Установка и начинаем смотреть. В моем случае было сообщений 10 с кодом 4, в которых писалось о том, что Чтобы изменить состояние пакета KB3146723 на Установлено, необходимо выполнить перезагрузку. Как видите была, установка.
Я точно знал, что ранее на моем компе стояла политика,что все обновления Windows ставлю в ручную. Начинаем смотреть групповую политику. Пробегитесь по структуре OU в GP проверьте все политики. Еще на компьютере можно открыть командную строку от имени администратора и воспользваться командой, которая покажет вам все политики примененные к нему.
Начнется создание отчета
В итоге у меня будет создан на диске C файл с названием gp.html и его с легкостью можно открыть в браузере и посмотреть его содержимое.
если у вас нет Active Directory, то зайдите в пуск > Панель управления > Центр обновления Windows, это для всех ос, кроме Windows 10, в ней немного в другом месте устанавливаются обновления.
Далее нажимаете настройка параметров.
И выберите параметр Искать обновления, но решение и установка принимается мной.
Как происходит в windows 10 получение обновлений, читайте по ссылке слева. Я думаю вы теперь знаете откуда и по какой причине появляется 0x80020002 и нештатная перезагрузка компьютера.
Команда SHUTDOWN — выключение / перезагрузка компьютера
Команда SHUTDOWN используется для завершения сеанса пользователя, перезагрузки компьютера, перевода его в спящий режим или выключения питания. При наличии соответствующих разрешений, команда может выполняться для удаленной системы.
Формат командной строки:
SHUTDOWN.EXE [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c «комментарий»]]
Если в командной строке не заданы параметры, или задан параметр /? — то на экран выдается краткая справка по использованию команды.
Вместо синтаксиса /ключ допускается использование -ключ :
SHUTDOWN.EXE [-i | -l | -s | -r | -g | -a | -p | -h | -e] [-f] [-m \\компьютер][-t xxx][-d [p|u]xx:yy [-c «комментарий»]]
Параметры командной строки:
/i — Отображение графического интерфейса пользователя. Этот параметр должен быть первым.
/l — Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d .
/s — Завершение работы компьютера.
/r — Завершение работы и перезагрузка компьютера.
/g — Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений.
/a — Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
/p — Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f .
/h — Переключение локального компьютера в режим гибернации. Можно использовать с параметром /f .
/e — Указание причины непредвиденного завершения работы компьютера.
/o — Переход в меню дополнительных параметров загрузки и перезагрузка компьютера. Данный параметр допустим для Windows 8 и более поздних версий. Необходимо использовать в с параметром /r.
/m \\компьютер — Имя или IP-адрес конечного компьютера.
/t xxx — Задание задержки в xxx секунд перед завершением работы компьютера. Допустимый диапазон: 0-315360000 (10 лет); значение по умолчанию: 30 секунд. Если период таймаута больше 0, применяется параметр /f .
/c «комментарий» — Комментарий с причиной перезапуска или завершения работы. Наибольшая длина — 512 знаков.
/f — Принудительное закрытие запущенных приложений без предупреждения пользователей. Параметр /f используется, если для параметра /t задано значение больше 0.
/d [p|u:]xx:yy Необходимо указать причину для перезагрузки или выключения. «p» означает запланированную перезагрузку или завершение работы. «u» означает, что причина определяется пользователем. Если не задано ни «p», ни «u», перезагрузка или завершение работы являются незапланированными. xx является основным кодом причины (целое положительное число, меньшее 256). yy является вспомогательным кодом причины (целое положительное число, меньшее 65536).
Для управления процессами выключения и перезагрузки, пользователь должен обладать правами администратора по отношению к управляемой системе.
Примеры использования команды SHUTDOWN:
shutdown или shutdown /? — отобразить справку по использованию команды.
shutdown /s — выключить питание компьютера через 30 секунд. Пользователю будет выдано предупреждение о запланированном выключении.
shutdown /s /t 0 — выключить питание компьютера немедленно.
shutdown /s /t 60 /m \\COMP7 — выключить питание компьютера COMP7 через 60 секунд.
shutdown /s /t 60 /m \\192.168.0.1 — выключить питание компьютера с IP-адресом 192.168.0.1 через 60 секунд. При необходимости, пользователь с правами администратора, может отменить процесс выключения командой shutdown -a
shutdown /h — перевести компьютер в режим гибернации. При выполнении команды, вся информация из оперативной памяти (процессы, программы, данные) сохраняются в специальном файле hyberfil.sys , находящемся в корневом каталоге системного диска и выполняется обычное выключение питания. При следующем включении компьютера, диспетчер загрузки Windows ( BOOTMGR ) выполнит восстановление состояния системы из файла hyberfil.sys . Режим перевода в гибернацию должен быть включен для данного компьютера, например командой powercfg /H on или с помощью оснастки «Электропитание» панели управления Windows. Также, необходимо учитывать, что для реализации данного режима потребуется наличие большого объема свободного места на жестком диске под копию оперативной памяти.
shutdown /l — завершить сеанс текущего пользователя. Команда завершения сеанса может быть выполнена только на локальном компьютере и только для текущего пользователя. Аналогично выполнению команды logoff без параметров.
shutdown /r — выполнить перезагрузку локального компьютера. По умолчанию, перезагрузка выполнится через 30 секунд, если не задан параметр /t
shutdown /r /o /t 0 — выполнить перезагрузку локального компьютера немедленно ( t 0 , с возможностью выбора дополнительных опций ( /o . После перезагрузки на экран выводится меню выбора действий, с помощью которого можно либо продолжить обычную загрузку, либо выбрать дополнительные режимы для диагностики и восстановления системы. Параметр /o допустим для операционных систем Windows 8 и более поздних.
shutdown /r /m \\192.168.0.1 — выполнить перезагрузку компьютера с IP-адресом 192.168.0.1.
shutdown /g — выполнить перезагрузку с восстановлением выполнения приложений, зарегистрированных с использованием функции API RegisterApplicationRestart . Обычно используется при обновлении системы, когда в процессе установки необходима перезагрузка с продолжением процесса инсталляции.
shutdown /r /c «Плановая перезагрузка» /d P:12:555 — выполнить перезагрузку компьютера с отображением сообщения «Плановая перезагрузка» и записью в системный журнал причины — «Запланированная», основной код — «12» (0x0B), дополнительный код — «555» (0x022b).
shutdown /i — запуск графической среды утилиты shutdown.exe . На экран выводится «Диалог удаленного завершения работы».
Для выполнения операции выключения, перезагрузки или завершения сеанса пользователя, нужно ввести имя или IP- адрес компьютера с использованием кнопки «Добавить», выбрать желаемое действие, причину и заполнить поле «Комментарий», текст из которого будет отображаться в информационном сообщении о запланированном действии. Для большинства причин, поле комментария является обязательным, и без его заполнения кнопка «OK» будет неактивной.
В Windows 7 и более поздних, удаленное выключение или перезагрузка с использованием команды shutdown , может завершаться ошибкой ”Отказано в доступе (5)” даже при наличии прав администратора и при разрешении принудительного удаленного завершения работы в локальных групповых политиках. Кроме того, при обращении к скрытым административным ресурсам C$ , ADMIN$ . и т.п. удаленного компьютера запрашивается имя пользователя и пароль, но подключение завершается отказом в доступе. Проблема решается выводом компьютера из домашней сети и добавлением (изменением) параметра реестра, в раздел:
hklm\Software\Microsoft\Windows\CurrentVersion\Policies\System
необходимо добавить параметр LocalAccountTokenFilterPolicy , принимающий занчение dword:00000001
После занесения данных в реестр, для применения изменений требуется перезагрузка.
Управление электропитанием в командной строке Windows — команда POWERCFG
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
System Shutdown Reason Codes
The shutdown reason codes are used by the ExitWindowsEx and InitiateSystemShutdownEx functions in the dwReason parameter.
A maximum of MAX_NUM_REASONS reason codes will be processed by the system. MAX_NUM_REASONS is defined in reason.h.
The following are the major reason flags. They indicate the general issue type.
Constant/value | Description |
---|---|
SHTDN_REASON_MAJOR_APPLICATION 0x00040000 | Application issue. |
SHTDN_REASON_MAJOR_HARDWARE 0x00010000 | Hardware issue. |
SHTDN_REASON_MAJOR_LEGACY_API 0x00070000 | The InitiateSystemShutdown function was used instead of InitiateSystemShutdownEx. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM 0x00020000 | Operating system issue. |
SHTDN_REASON_MAJOR_OTHER 0x00000000 | Other issue. |
SHTDN_REASON_MAJOR_POWER 0x00060000 | Power failure. |
SHTDN_REASON_MAJOR_SOFTWARE 0x00030000 | Software issue. |
SHTDN_REASON_MAJOR_SYSTEM 0x00050000 | System failure. |
The following are the minor reason flags. They modify the specified major reason flag. You can use any minor reason in conjunction with any major reason, but some combinations do not make sense.
Constant/value | Description |
---|---|
SHTDN_REASON_MINOR_BLUESCREEN 0x0000000F | Blue screen crash event. |
SHTDN_REASON_MINOR_CORDUNPLUGGED 0x0000000b | Unplugged. |
SHTDN_REASON_MINOR_DISK 0x00000007 | Disk. |
SHTDN_REASON_MINOR_ENVIRONMENT 0x0000000c | Environment. |
SHTDN_REASON_MINOR_HARDWARE_DRIVER 0x0000000d | Driver. |
SHTDN_REASON_MINOR_HOTFIX 0x00000011 | Hot fix. |
SHTDN_REASON_MINOR_HOTFIX_UNINSTALL 0x00000017 | Hot fix uninstallation. |
SHTDN_REASON_MINOR_HUNG 0x00000005 | Unresponsive. |
SHTDN_REASON_MINOR_INSTALLATION 0x00000002 | Installation. |
SHTDN_REASON_MINOR_MAINTENANCE 0x00000001 | Maintenance. |
SHTDN_REASON_MINOR_MMC 0x00000019 | MMC issue. |
SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000014 | Network connectivity. |
SHTDN_REASON_MINOR_NETWORKCARD 0x00000009 | Network card. |
SHTDN_REASON_MINOR_OTHER 0x00000000 | Other issue. |
SHTDN_REASON_MINOR_OTHERDRIVER 0x0000000e | Other driver event. |
SHTDN_REASON_MINOR_POWER_SUPPLY 0x0000000a | Power supply. |
SHTDN_REASON_MINOR_PROCESSOR 0x00000008 | Processor. |
SHTDN_REASON_MINOR_RECONFIG 0x00000004 | Reconfigure. |
SHTDN_REASON_MINOR_SECURITY 0x00000013 | Security issue. |
SHTDN_REASON_MINOR_SECURITYFIX 0x00000012 | Security patch. |
SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000018 | Security patch uninstallation. |
SHTDN_REASON_MINOR_SERVICEPACK 0x00000010 | Service pack. |
SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000016 | Service pack uninstallation. |
SHTDN_REASON_MINOR_TERMSRV 0x00000020 | Terminal Services. |
SHTDN_REASON_MINOR_UNSTABLE 0x00000006 | Unstable. |
SHTDN_REASON_MINOR_UPGRADE 0x00000003 | Upgrade. |
SHTDN_REASON_MINOR_WMI 0x00000015 | WMI issue. |
The following optional flags provide additional information about the event.
Constant/value | Description |
---|---|
SHTDN_REASON_FLAG_USER_DEFINED 0x40000000 | The reason code is defined by the user. For more information, see Defining a Custom Reason Code. If this flag is not present, the reason code is defined by the system. |
SHTDN_REASON_FLAG_PLANNED 0x80000000 | The shutdown was planned. The system generates a System State Data (SSD) file. This file contains system state information such as the processes, threads, memory usage, and configuration. If this flag is not present, the shutdown was unplanned. Notification and reporting options are controlled by a set of policies. For example, after logging in, the system displays a dialog box reporting the unplanned shutdown if the policy has been enabled. An SSD file is created only if the SSD policy is enabled on the system. The administrator can use Windows Error Reporting to send the SSD data to a central location, or to Microsoft. |
Remarks
The following combinations are recognized by the system. The table indicates the string that is displayed in the Shutdown Event Tracker, and provides a more detailed description. The default string is «No title for this reason could be found.»
Combination | Description |
---|---|
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_HUNG | «Application: Unresponsive» An unplanned restart or shutdown to troubleshoot an unresponsive application. |
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED | «Application: Installation (Planned)» A planned restart or shutdown to perform application installation. |
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE | «Application: Maintenance (Unplanned)» An unplanned restart or shutdown to service an application. |
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED | «Application: Maintenance (Planned)» A planned restart or shutdown to perform planned maintenance on an application. |
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_UNSTABLE | «Application: Unstable» An unplanned restart or shutdown to troubleshoot an unstable application. |
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION | «Hardware: Installation (Unplanned)» An unplanned restart or shutdown to begin or complete hardware installation. |
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED | «Hardware: Installation (Planned)» A planned restart or shutdown to begin or complete hardware installation. |
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE | «Hardware: Maintenance (Unplanned)» An unplanned restart or shutdown to service hardware on the system. |
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED | «Hardware: Maintenance (Planned)» A planned restart or shutdown to service hardware on the system. |
SHTDN_REASON_MAJOR_LEGACY_API | «Legacy API shutdown» This shutdown was initiated by the legacy InitiateSystemShutdown function. Applications should use the InitiateSystemShutdownEx function. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX | «Operating System: Hot fix (Unplanned)» An unplanned restart or shutdown to install a hot fix. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX | SHTDN_REASON_FLAG_PLANNED | «Operating System: Hot fix (Planned)» A planned restart or shutdown to install a hot fix. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG | «Operating System: Reconfiguration (Unplanned)» An unplanned restart or shutdown to change the operating system configuration. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG | SHTDN_REASON_FLAG_PLANNED | «Operating System: Reconfiguration (Planned)» A planned restart or shutdown to change the operating system configuration. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX | «Operating System: Security fix (Unplanned)» An unplanned restart or shutdown to install a security patch. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX | SHTDN_REASON_FLAG_PLANNED | «Operating System: Security fix (Planned)» A planned restart or shutdown to install a security patch. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SERVICEPACK | SHTDN_REASON_FLAG_PLANNED | «Operating System: Service pack (Planned)» A planned restart or shutdown to install a service pack. |
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_UPGRADE | SHTDN_REASON_FLAG_PLANNED | «Operating System: Upgrade (Planned)» A planned restart or shutdown to upgrade the operating system configuration. |
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER | «Other (Unplanned)» An unplanned shutdown or restart. |
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER | SHTDN_REASON_FLAG_PLANNED | «Other (Planned)» A planned shutdown or restart. |
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_HUNG | «Other Failure: System Unresponsive» The system became unresponsive. |
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_CORDUNPLUGGED | «Power Failure: Cord Unplugged» The computer was unplugged. |
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_ENVIRONMENT | «Power Failure: Environment» There was a power outage. |
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_BLUESCREEN | «System Failure: Stop error» The computer displayed a blue screen crash event. |
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY | «Loss of network connectivity (Unplanned)» The computer needs to be shut down due to a network connectivity issue. |
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_SECURITY | «Security issue» The computer needs to be shut down due to a security issue. |
You can also define your own shutdown reasons and add them to the registry. Each reason code should be stored as a registry value in the following key:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\UserDefined\
This key contains value names of the following form: xxxxx;nnn;nnnnn. The semicolons delimit the components of a value name.
One to five of the following control flags (no other characters can be used).
Flag | Description |
---|---|
P | Planned shutdown; otherwise, an unplanned shutdown. |
C | A comment is required. This flag must be used with S. |
B | An ID is required. This flag must be used with D. |
S | Display the expected shutdown dialog box. Either S, D, or both S and D must be used. |
D | Display the unexpected shutdown dialog box. Either S, D, or both S and D must be used. |
The order in which the flags are used is not important. For example, CSP indicates a planned shutdown where the expected shutdown dialog box is displayed, and a comment is required.
Major reason. This component must be a number in the range 64-255. The range 0-63 is reserved for use by the system.
Minor reason. This component must be in the range 0-65535.
Custom reasons are sorted in the user interface by major reason number, then by minor reason number. No two custom reasons can use the same major and minor reasons, unless one is planned and the other is unplanned. Otherwise, the system will use the first instance and ignore the others.
The data for each registry value is two strings, separated by \n\r. The first string is a title string to be displayed in the shutdown dialog box, and written to the event log. The maximum size is 64 characters. Title strings must be unique. Custom titles cannot match the standard titles defined by the system, or another custom title. The second string is a description string to be displayed in the shutdown dialog box; it is optional. The maximum size is 256 characters.