Событие перезагрузки windows в журнале

30 марта 2019

При диагностики проблемы, которая вызывает неожиданные перезагрузки или выключения машины под управлением Windows, важно знать, какие события могут быть с этим связаны, коды этих событий (англ. event ID) и как найти соответствующие логи.

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

Я также показываю, как просмотреть историю включений/выключений с помощью стандартного приложения «Просмотр событий» (англ. Event Viewer) или из командной строки с помощью PowerShell.

Коды Событий Выключения

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

Event ID Описание
41 Система была перезагружена без корректного завершения работы.
1074 Система была корректного выключена пользователем или процессом.
1076 Следует за Event ID 6008 и означает, что первый пользователь (с правом выключения системы) подключившийся к серверу после неожиданной перезагрузки или выключения, указал причину этого события.
6005 Запуск «Журнала событий Windows» (англ. Event Log). Указывает на включение системы.
6006 Остановка «Журнала событий Windows» (англ. Event Log). Указывает на выключение системы.
6008 Предыдущее выключение системы было неожиданным.
6009 Версия операционной системы, зафиксированная при загрузке системы.
6013 Время работы системы (англ. system uptime) в секундах.

«Просмотр событий» — История Выключений

События связанные с выключениями системы (включая дату и время) могут быть просмотрены с помощью программы «Просмотр событий».

Запустить «Просмотр событий» и найти события связанные с выключениями:

  1. Нажмите клавишу  Win, наберите  eventvwr и запустите  Просмотр событий
  2. В панели слева разверните  Журналы Windows и перейдите в  Система
  3. Щелкните правой кнопкой мыши на  Система и выберите  Фильтр текущего журнала...
  4. Введите следующие коды в поле  <Все коды событий> и нажмите  OK:41,1074,1076,6005,6006,6008,6009,6013

Логи Выключений в PowerShell

Журналы выключения/перезагрузки в Windows также можно получить из командной строки с помощью команды 

Например, чтобы отфильтровать 

Get-EventLog System -Newest 10000 |

Where EventId -in 41,1074,1076,6005,6006,6008,6009,6013 |

Format-Table TimeGenerated,EventId,UserName,Message -AutoSize -wrap

Опубликовано 30.03.2019 от evgeniyalf в категории «Windows

Если в вашей организации несколько системных администраторов, у вас периодически может возникать вопрос “Кто перезагрузил сервер?”. В этой статье я покажу как найти определения пользователя, который перезагрузил или выключил компьютер/сервер Windows.

Информация об учетной записи, которая отправила команду перезагрузки Windows сохраняется в журнал событий.

  1. Откройте консоль Event Viewer (
    eventvwr.msc
    ) и перейдите в раздел Windows Logs -> System;
  2. Включите фильтр журнала событий, выбрав в контекстном меню пункт Filter Current Log; фильтр журнала событий windows
  3. В поле фильтра укажите EventID 1074 и нажмите OK; событие 1074 кто перезагрузил или выключил windows
  4. В журнале событий останутся только события выключения (перезагрузки), откройте любое из них;
  5. В событии от источника User32 будет указан пользователь, который инициировал перезагрузку Windows. В этом примере это пользователь a.novak. определить пользователя, который перезагрузил windows
The process C:\Windows\Explorer.EXE (MSK-DC03) has initiated the restart of computer MSK-DC03 on behalf of user WINITPRO\a.novak for the following reason: Other (Unplanned)
Reason Code: 0x5000000
Shutdown Type: restart
Comment:

Рассмотрим еще несколько примеров событий перезагрузки/выключения Windows. В качестве пользователя, запустившего перезагрузку операционную систему может быть указан NT AUTHORITY\SYSTEM.

Это означает, что перезагрузку инициировала одна из служб или программ Windows, запущенная от имени SYSTEM.. Например, это может быть процесс службы
wuauserv
, который закончил установку обновлений Windows и выполнил перезагрузку согласно настроенной политике Windows Update или с помощью задания модуля PSWindowsUpdate.

The process C:\Windows\uus\AMD64\MoUsoCoreWorker.exe (WKS-PC11S22) has initiated the restart of computer WKS-PC11S22 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Operating System: Service pack (Planned)
Reason Code: 0x80020010
Shutdown Type: restart
Comment:

Если ваша Windows запущена внутри виртуальной машины VMware, то если выполнить Restart Guest из консоли управления VMware, событие (выключения) будет выглядеть так:

The process C:\Program Files\VMware\VMware Tools\vmtoolsd.exe (MSK-DC03) has initiated the shutdown of computer MSK-DC03 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Legacy API shutdown
Reason Code: 0x80070000
Shutdown Type: shutdown

В этом случае выключение Windows также инициировано NT AUTHORITY\SYSTEM, т.к. службы интеграции VMware Tools запущены от имени системы.

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

Get-WinEvent -FilterHashtable @{logname=’System’;id=1074}|ft TimeCreated,Id,Message

Команда вернула описания всех событий перезагрузки и выключения Windows.

powershell - Get-EventLog событие 1074

Можно использовать следующий скрипт PowerShell, который возвращает более короткий список с последними десятью событиями с именами пользователей, и процессами, которые инициировали перезагрузку/выключение сервера.

Get-EventLog -LogName System |
where {$_.EventId -eq 1074} |select-object -first 10 |
ForEach-Object {
$rv = New-Object PSObject | Select-Object Date, User, Action, process, Reason, ReasonCode

if ($_.ReplacementStrings[4]) {
$rv.Date = $_.TimeGenerated
$rv.User = $_.ReplacementStrings[6]
$rv.Process = $_.ReplacementStrings[0]
$rv.Action = $_.ReplacementStrings[4]
$rv.Reason = $_.ReplacementStrings[2]
$rv
}
} | Select-Object Date, Action, Reason, User, Process |ft

скрипт powershell - кто перезагрузил windows

Также с помощью PowerShell можно быстро получить имя пользователя, который перезагрузил удаленный компьютер. Получить доступ к журналу событий на удаленном хосте можно с помощью формата Get-EventLog -ComputerName или вы можете подключиться к компьютеру через PSRemoting с помощью командлета Invoke-Command:

Invoke-Command -ComputerName rds2-12 -ScriptBlock {Get-WinEvent -FilterHashtable @{logname=’System’;id=1074} |select-object TimeCreated,Id,Message -first 1}

кто перезагрузил удаленный компьютер

По событию 1074 можно найти только причины корректных (штатных) перезагрузок сервера. Если Windows была перезагружена не штатно (например, при потере электропитания, или появления BSOD), тогда нужно искать события с EventID 6008.

The previous system shutdown at 4:34:49 AM on ‎1/‎17/‎2022 was unexpected.

EventID 6008 The previous system shutdown was unexpected.

И конечно, вы не сможете понять, кто перезагрузил Windows, если журналы событий были очищены, или старые события перезатерты более новыми (в домене желательно настроить увеличенный размер журналов событий с помощью GPO).

Иногда требуется выяснить причину перезагрузки Windows сервера, который не должен был перезагружаться, но всё же сделал это.

В меню «Пуск» найдите приложение: «Просмотр событий» или «Eventvwr«, и запустите его. Дальше перейдите в «Журналы Windows / Система«. Затем справа нажмите «Фильтр текущего журнала«.

Просмотр событий Windows

Просмотр событий Windows

В открывшемся окне, в поле «Все коды событий» впишите следующие коды: 41,1074,1076,6005,6006,6008,6009,6013. Ниже я напишу что они означают.

Фильтр журнала событий Windows

Фильтр журнала событий Windows

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

Используемые коды событий

41 Система была перезагружена без корректного завершения работы.
1074 Система была корректного выключена пользователем или процессом.
1076 Следует за Event ID 6008 и означает, что первый пользователь (с правом выключения системы) подключившийся к серверу после неожиданной перезагрузки или выключения, указал причину этого события.
6005 Запуск «Журнала событий». Указывает на включение системы.
6006 Остановка «Журнала событий». Указывает на выключение системы.
6008 Предыдущее выключение системы было неожиданным.
6009 Версия операционной системы, зафиксированная при загрузке системы.
6013 Время работы системы в секундах.
Таблица кодов событий Windows

Узнаём причину перезагрузки Windows на моём примере

Итак, начинаем листать события сверху вниз.

Время работы 58573 сек. Значит компьютер уже работает некоторое время

Время работы 58573 сек. Значит компьютер уже работает некоторое время
Время работы 10 секунд. Значит компьютер только что включился
Время работы 10 секунд. Значит компьютер только что включился
Запущена служба журнала событий. Значит система только что загрузилась
Запущена служба журнала событий. Значит система только что загрузилась
Верия только что загруженной системы - 10.00.19044. Это сообщение пишется сразу после загрузки системы
Верия только что загруженной системы — 10.00.19044. Это сообщение пишется сразу после загрузки системы
Служба журнала событий остановлена. Значит вот вот система начнёт завершение своей работы
Служба журнала событий остановлена. Значит вот вот система начнёт завершение своей работы
И наконец, мы видим причину завершения работы системы. Будет выполнена перезагрузка из за установки пакета обновления
И наконец, мы видим причину завершения работы системы. Будет выполнена перезагрузка из за установки пакета обновления

Вам может быть интересно: Бесплатные утилиты для Windows

While troubleshooting an issue that causes an unexpected reboot or shutdown of a Windows machine, it is important to know which event IDs are related to system reboot/shutdown and how to find the appropriate logs.

In this note i am publishing all the event IDs related to reboots/shutdowns.

I am also showing how to display the shutdown events with date and time, using a Windows Event Viewer or from the command-line using a PowerShell.

Cool Tip: How to boot Windows in Safe Mode! Read more →

The list of the Windows event IDs, related to the system shutdown/reboot:

Event ID Description
41 The system has rebooted without cleanly shutting down first.
1074 The system has been shutdown properly by a user or process.
1076 Follows after Event ID 6008 and means that the first user with shutdown privileges logged on to the server after an unexpected restart or shutdown and specified the cause.
6005 The Event Log service was started. Indicates the system startup.
6006 The Event Log service was stopped. Indicates the proper system shutdown.
6008 The previous system shutdown was unexpected.
6009 The operating system version detected at the system startup.
6013 The system uptime in seconds.

Display Shutdown Logs in Event Viewer

The shutdown events with date and time can be shown using the Windows Event Viewer.

Start the Event Viewer and search for events related to the system shutdowns:

  1. Press the ⊞ Win keybutton, search for the eventvwr and start the Event Viewer
  2. Expand Windows Logs on the left panel and go to System
  3. Right-click on System and select Filter Current Log...
  4. Type the following IDs in the <All Event IDs> field and click OK:
    41,1074,1076,6005,6006,6008,6009,6013

Cool Tip: Get history of previously executed commands in PowerShell! Read more →

Find Shutdown Logs using PowerShell

The shutdown/reboot logs in Windows can also be retrieved from the command-line using the PowerShell’s Get-EventLog command.

For example, to filter the 10000 most recent entries in the System Event Log and display only events related to the Windows shutdowns, run:

PS C:\> Get-EventLog System -Newest 10000 | `
        Where EventId -in 41,1074,1076,6005,6006,6008,6009,6013 | `
        Format-Table TimeGenerated,EventId,UserName,Message -AutoSize -wrap

Cool Tip: Start/Stop a service in Windows from the CMD & PowerShell! Read more →

Was it useful? Share this post with the world!

Найти причину последней перезагрузки или выключения в журнале событий Windows

Начните с просмотра событий (Windows+R или меню Пуск) и введите eventvwr.msc). Перейдите к системному журналу под Windows, затем мы хотим использовать фильтр текущего журнала, чтобы позволить нам показывать только события с определенными атрибутами (такими как источник или идентификаторы).

В нашем случае мы хотим отфильтровать Источник события: USER32. Тогда для идентификаторов событий мы хотим видеть только 1074. Если вы находитесь после неожиданных отключений, используйте 6008. Как только это будет сделано (как на рисунке справа), нажмите кнопку ОК, и это отфильтрует журнал событий в соответствии с нашими требованиями. Вы можете прокрутить страницу и посмотреть, что и кто инициировал отключение.

  • Создание загрузочного диска windows 10 из iso образа на флешку
  • Создание аварийного диска windows 10
  • Событие logon в журнале windows
  • Создание windows приложений на основе visual c
  • Создание загрузочного диска windows 10 из iso образа на диск