Перейти к основному содержанию

Windows — узнать причину перезагрузки сервера

Windows Server

На выходных ночью перезагрузился сервер. Операционка — Windows Server 2016 Standard. Никаких ошибок нет, сервер перезагрузился штатно. Никто в перезагрузке не признаётся, а разработчики бегают злые, — что-то там у них было запущено.

Выясняем причину перезагрузки. Открываем журнал событий (Event Viewer):

eventvwr.msc

win

Или правой кнопкой на Пуск → Event Viewer.

win

Открывается оснастка журнала событий. Windows Logs → System.

win

Правой кнопкой на System → Filter Current Log.

win

Указываем Event ID "1074".

win

OK.

В результате фильтрации в журнале останутся только события с Event ID 1074.

win

Источник User32. Здесь можно посмотреть имя пользователя или название процесса от имени пользователя NT AUTHORITY\SYSTEM, послужившего источником перезагрузки. В моём случае причина перезагрузки следующая:

The process C:\Program Files (x86)\Kaspersky Lab\NetworkAgent\klnagent.exe (BIG-TER) has initiated the restart of computer BIG-TER on behalf of user NT AUTHORITY\SYSTEM for the following reason: Application: Installation (Planned)
Reason Code: 0x80040002
Shutdown Type: restart
Comment:

Бл#$&кий Каспер...

Примечания

Если Windows была перезагружена не штатно, то нужно искать событиt с Event ID 6008.

Список последних 10 событий Event ID 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 | out-gridview

win

Таблица отобразится в отдельном окне с помощью команды out-gridview.

win

Теги

 

Похожие материалы

Windows Terminal — больше чем терминал

Windows Terminal — терминальное приложение в Windows 10 для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и WSL. В одной вкладке может отображаться несколько панелей.