Журнал перезагрузок windows server

Если в вашей организации несколько системных администраторов, у вас периодически может возникать вопрос “Кто перезагрузил сервер?”. В этой статье я покажу как найти определения пользователя, который перезагрузил или выключил компьютер/сервер 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 обрабатывается основной службой журнала событий. Средство просмотра событий регистрирует историю запуска и завершения работы сервера. Так же она отслеживает действия каждого пользователя во время работы устройства. Записывает ошибки, и другие сообщения и предупреждения которые возникают на Windows Server. 

В этой статье мы узнаем, как проверить журналы выключения/перезагрузки на VPS серверах Windows 2012, 2016 и 2019. 

Рассмотрим некоторые наиболее распространенные коды связанные со временем запуска и завершения работы сервера.

41:  показывает, что ваш сервер перезагрузился, но не выключился полностью.
6005: показывает, что служба журнала событий была запущена.
1074:  это событие показывает, когда приложение принудительно выключает или перезагружает ваш VPS сервер. Благодаря этому можно  узнать, когда вы, или кто-то другой перезапустил или выключил сервер из меню «Пуск» или через CTRL+ALT+DEL.
6008: это событие появляется если ваш компьютер был выключен, или ушел в перезагрузку, через синий экран смерти.
6006: это событие показывает когда сервер корректно завершил свою работу.

Как просмотреть данные события в Windows Server?

Нажмите Win + R и введите eventvwr

В левой части панели откройте «Журналы Windows => Система»

В колонке Event ID мы увидим список событий, произошедших во время работы Windows. Журнал событий можно сортировать по идентификатору события.

Для того что бы отсортировать нужные намо события, с правой стороны, выберем «Фильтр текущего журнала»

Теперь введите нужные нам события, через запятую, 41, 1074, 6006, 6008, 6006 и нажмите Ок.

Теперь мы можем наблюдать журнал событий с завершением работы нашего сервера VPS.

Так же мы можем просмотреть журнал событий безотказной работы сервера. Этому соответствует идентификатор 6013. 

 Просмотр журнала выключения и перезапуска сервера с помощью PowerShell

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

Что бы отфильтровать последнюю 1000 записей в журнале, и отобразить только те события которые нам нужны, (41, 1074, 6006, 6008, 6006) выполним эту команду в PowerShell:

Get-EventLog System -Newest 1000 | ` Where EventId -in 41,1074,6006,6008 | ` Format-Table TimeGenerated,EventId,UserName,Message -AutoSize -wrap

Теперь вы можете самостоятельно проверить по какой причине был перезагружен/выключен ваш сервер.

Также предлагаем рассмотреть другие полезные статьи:

  • Как установить обновления на Windows Server 2012, Windows Server 2016 и Windows Server 2019
  • Как посмотреть логи RDP подключений в Windows Server 2016, 2019
  • Отключение UDP для RDP-подключений к Windows Server

В организациях с несколькими системными администраторами часто возникает необходимость выяснить, кто инициировал перезагрузку или выключение сервера Windows. Информация о таких действиях сохраняется в журнале событий Windows, что позволяет точно определить пользователя или процесс, ответственный за событие. В этой статье мы разберём, как найти инициатора перезагрузки с помощью Event Viewer, PowerShell и анализа событий с EventID 1074 и 6008.

Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽

Поиск инициатора перезагрузки через журнал событий

Журнал событий Windows фиксирует данные о пользователе или процессе, отправившем команду на перезагрузку или выключение. Чтобы найти эту информацию:

1. Откройте Просмотр событий с помощью команды:

eventvwr.msc

2. Перейдите в раздел Журналы Windows → Система (Windows Logs → System).

3. В правой панели выберите Фильтр текущего журнала (Filter Current Log).

4. В поле ИД события укажите 1074 и нажмите ОК.

5. В отфильтрованном списке откройте любое событие с EventID 1074.

В описании события от источника User32 будет указано имя пользователя, инициировавшего перезагрузку. Например, пользователь softuser. Если указан NT AUTHORITY\SYSTEM, перезагрузку запустила системная служба или программа, такая как wuauserv (служба обновлений Windows), настроенная на автоматическую перезагрузку после установки обновлений.

Примеры событий перезагрузки

Разные сценарии перезагрузки или выключения могут указывать на различные причины и инициаторов:

Перезагрузка из-за обновлений Windows:

Если перезагрузка вызвана службой wuauserv или заданием PSWindowsUpdate, в событии будет указан NT AUTHORITY\SYSTEM. Это происходит, если в политике Windows Update настроена автоматическая перезагрузка.

Перезагрузка виртуальной машины VMware:

Если сервер работает на 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

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

Поиск событий перезагрузки с помощью PowerShell

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

Получение всех событий EventID 1074

Выведите список событий с EventID 1074:

Get-WinEvent -FilterHashtable @{logname='System';id=1074} | Format-Table TimeCreated,Id,Message

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

Краткий отчёт о последних 10 событиях

Используйте скрипт для вывода последних 10 событий с указанием пользователей и процессов:


Get-EventLog -LogName System | Where-Object {$_.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 | Format-Table

Скрипт показывает дату, действие, причину, пользователя и процесс, инициировавший перезагрузку.

Анализ событий на удалённом сервере

Чтобы проверить журнал событий на удалённом компьютере:


Invoke-Command -ComputerName rds2-12 -ScriptBlock {
Get-WinEvent -FilterHashtable @{logname='System';id=1074} | Select-Object TimeCreated,Id,Message -First 1
}

Команда использует PSRemoting для получения последнего события EventID 1074 с удалённого сервера, например, rds2-12.

Анализ нештатных перезагрузок

Событие EventID 1074 фиксирует только штатные перезагрузки и выключения. Для нештатных ситуаций, таких как сбой питания или BSOD (синий экран), ищите события с EventID 6008:


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

Эти события указывают на неожиданное завершение работы, но не содержат информации о пользователе.

Ограничения и рекомендации

— Очистка журналов: Если журнал событий был очищен или старые записи перезаписаны, определить инициатора перезагрузки невозможно.

— Размер журналов: В доменной среде увеличьте размер журналов событий через групповые политики (GPO), чтобы сохранить больше данных.

— Мониторинг: Настройте централизованный сбор журналов событий с помощью Windows Event Collector или SIEM-систем для упрощения анализа.

— Резервное копирование: Регулярно экспортируйте журналы событий для сохранения истории:

wevtutil epl System C:\Logs\SystemBackup.evtx

Дополнительные советы

— Если перезагрузка вызвана обновлениями Windows, проверьте настройки Windows Update в GPO или локальной политике.

— Для виртуальных машин анализируйте логи гипервизора (VMware, Hyper-V), чтобы выявить команды управления.

— Используйте PowerShell-скрипты для автоматизации мониторинга перезагрузок и отправки уведомлений администраторам.

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

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

Для этого откройте Event Viewer ( eventvwr.msc ). Затем найдите раздел System (Система ) в разделе Windows Logs (Журналы Windows ).

Щелкните правой кнопкой мыши и откройте фильтр журнала событий Filter Current Log.

Кто перезагрузил (выключил) сервер Windows?

Укажите фильтру EventID — 1074 и нажмите «ОК».

Кто перезагрузил (выключил) сервер Windows?

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

Журнал будет содержать следующую информацию:

Процесс C:\Windows\System32\RuntimeBroker.exe (WINDOWS2022) инициировал выключение компьютера WINDOWS2022 от имени пользователя WINDOWS2022\Administrator по следующей причине:Other (Planned) Reason Code: 0x85000000 Тип выключения: выключение Комментарий:

Кто перезагрузил (выключил) сервер Windows?

Перезагрузка сервера также может быть вызвана одной из служб или программ Windows, запущенных от имени SYSTEM.
Например, wuauserv, которая после установки обновлений Windows выполняет автоматическую перезагрузку.
В этом случае пользователь, выполнивший перезагрузку, будет указан — AUTHORITY\SYSTEM.
Например:

Процесс C:\Windows\uus\AMD64\MoUsoCoreWorker.exe (WKS-PC11S22) инициировал перезагрузку компьютера WKS-PC11S22 от имени пользователя NT AUTHORITY\SYSTEM по следующей причине: Операционная система: Пакет обновления (Планируется) Код причины: 0x80020010 Тип выключения: перезапуск Комментарий:

При использовании виртуальной машины VMware для Windows при выполнении команды«Перезапустить гостя» через консоль управления VMware Management Console,
выключение операционной системы Windows также выполняется от пользователя -NT AUTHORITY\SYSTEM, поскольку службы VMware Tools, обеспечивающие интеграцию, работают с системными привилегиями.
Например:

Процесс C:\Program Files\VMware\VMware Tools\vmtoolsd.exe (WINDOWS2022) инициировал выключение компьютера WINDOWS2022 от имени пользователя NT AUTHORITY\SYSTEM по следующей причине: Legacy API shutdown Reason Code: 0x80070000 Тип выключения: выключение

Чтобы вывести все события из журнала событий с идентификатором EventID 1074 с помощью PowerShell, введите следующую команду:

Get-Eventlog -Logname System |? {(1074) -contains $_.EventID} | ft Timegenerated,EventID,Message

Кто перезагрузил (выключил) сервер Windows?

Вы также можете использовать сценарий 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
Кто перезагрузил (выключил) сервер Windows?

Используя команду Invoke-Command из PowerShell, вы можете получить имя пользователя, который перезагрузил удаленный компьютер.
Для этого введите команду:

Invoke-Command -ComputerName localhost -ScriptBlock {Get-Eventlog -Logname System |? {(1074) -contains $_.EventID} | ft Timegenerated,EventID,Message}
Кто перезагрузил (выключил) сервер Windows?

Событие 1074 используется исключительно для определения причин стандартных перезагрузок сервера. Если перезагрузка операционной системы Windows
Windows была вызвана аномальным событием, таким как сбой питания или BSOD, необходимо проанализировать события с идентификатором EventID 6008.

Обратите внимание, что

вы не

сможете определить, кто перезагружал или выключал сервер Windows,

если журналы событий были очищены
или старые записи были перезаписаны новыми

(рекомендуется настраивать журналы событий большего размера).

Щелчок
правой кнопки мыши, открываем фильрт
Фильтр журналов событий
Текущий журнал;

Указываем фильтр EventID — 1074
и
нажмимаем OK;

Теперь
в журнале события будут отражены только
события перезагрузки и выключения
вашего сервера.
В событии от источника
User32
будет
указан пользователь, который инициировал
перезагрузку Windows.
В нашем случае
это — администратор.

На сайте
Процесс C:\Windows\System32\RuntimeBroker.exe (WINDOWS2022)
инициировал выключение компьютера WINDOWS2022 от имени пользователя
WINDOWS2022\Administrator по следующей причине: Другое (запланировано)

Причина
Код: 0x85000000

Тип выключения: выключение питания

Комментарий:

Так
же перезагрузка сервера может быть
вызвана одной из служб или программ
Windows
запущенная
от имени SYSTEM.
Такой как wuauserv ,
который закончил установку обновлений
Windows и выполнил автоматическую установку
перезагрузку. В этом случае будет указан
пользователь выполнил перезагрузку
— NT
AUTHORITY\SYSTEM.

При
Использование виртуальной машины VMware
для Windows, при выполнении команды «Перезапустить
Гость
» через консоль управления VMware,
выключение операционной системы Windows
также осуществляется от пользователя
NT AUTHORITY\SYSTEM, поскольку службы VMware Tools,
обеспечивающие интеграцию, функционируют
с привилегиями системы.

Для того чтобы вывести все события
из журнала событий с EventID 1074 с помощью
PowerShell введите следующую команду:
Get-WinEvent
-FilterHashtable @{logname=’System’;id=1074}|ft
TimeCreated,Id,Message

КАРТИНКИ
НЕТ
Get-Eventlog -Logname System |? {(1074) -содержит
$_.EventID} | ft Timegenerated,EventID,Message

Вы
Можете использовать скрипт PowerShell,
который предоставляет информацию о
последних десяти событиях, включая
имена пользователей и процессы,
ответственные за перезагрузку или
выключение сервера.
Get-EventLog
-LogName System |
where {$_.EventId -eq 1074} |select-object
-первые 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,
Действие, Причина, Пользователь, Процесс |ft

С
с помощью команды
Invoke-Command
из
PowerShell
Можно получить имя пользователя, который
перезагрузил удаленный компьютер. Для
этого введите команду:
Invoke-Command
-ComputerName rds2-12 -ScriptBlock {Get-WinEvent -FilterHashtable
@{logname=’System’;id=1074} |select-object TimeCreated,Id,Message
-first 1}

КАРТИНКИ
НЕТ
Invoke-Command -ComputerName localhost -ScriptBlock
{Get-Eventlog -Logname System |? {(1074) -содержит $_.EventID} | ft
Timegenerated,EventID,Message}

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

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

When using a Windows server environment, it is important to monitor system reboots & shutdowns for system administrators to ensure the stability & performance of the server. 

Keeping track of these events can help you diagnose issues, identify potential problems & maintain a record of system activities. In this detailed article, Know how to check reboot & shutdown logs in the Windows server.

We will check the logs using Event Viewer on the Windows server. 

Well, What’s this Event Viewer?

An Event Viewer is a powerful tool that allows administrators to check detailed information about system events in the Windows Server. 


Also Read: A Guide to Fix RDP Error: An Internal Error has Occurred


Checking Reboot & Shutdown Logs in Windows Server Through Event Viewer

To access the Event Viewer, you have to follow these steps:

➔ Press the Windows key + R

➔ A dialog box appears, You have to type ‘eventvwr’

You have to type ‘eventvwr’

Once the Event Viewer opens, you can navigate to the logs related to system reboots and shutdowns.

➢ To check the Reboot Logs:

➔ Firstly, expand the ‘Windows Logs’ folder on the left panel in the Event Viewer.

➔ Once it is expanded, click ‘System’ to open the System log.

➔ In the right pane, a list of events is mentioned there. You have to sort the events that you need by selecting ‘Filter the current log’ on the right side.

➔ Look for events with the Event ID ‘6005’, ‘41’ and, ‘6006’

Look for events with the Event ID

What does this Event ID indicate?

★ Event ID 6005: This indicates that the event log service was started.

★ Event ID 6006: This indicates that the event log service was stopped.

★ Event ID 41: This indicates that the Windows computer unexpectedly restarted without shutting down, and the related details can provide information about the potential causes of the issue.

You can also search for Event ID ‘1074’ This event indicates that the system is shut down or restarted by a user or an application with the reason behind the action that occurred.


Also Read: How to Fix the Incorrect Password Issue on RDP?


➢ To check the Shutdown Logs:

➔ The beginning of the process is the same. You have to expand the ‘Windows Logs’ folder in the event viewer.

➔ Click on ‘System’ to open the System log.

➔ In the ‘filter current log’, you have to Look for events with the Event ID ‘1074’ & Event ID ‘6008.’

you have to Look for events with the Event ID

As we discussed above:

Event ID 1074: This indicates the reason for the system shutdown or restart, providing information about the user and the reason behind the action.

Event ID 6008: This indicates the system shutdown was unexpected. It can help diagnose issues related to power failures or unexpected system failures.


Also Read: How to restart the RDP without rebooting the windows server?


Conclusion

For maintaining a healthy Windows server environment, Monitoring reboot and shutdown logs is important. The Event Viewer is the most convenient way to access this information, which allows system administrators to troubleshoot issues, identify patterns, and ensure the smooth operation of their servers. 

Reviewing these logs to keep your system proactive regularly is the best practice.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Глючит компьютер что делать windows 10
  • Spider agent for windows что это
  • Что значит клавиша windows
  • Инвертированные цвета windows 10
  • Надо ли устанавливать windows на ssd