Content

Кто перезагрузил (выключил) сервер 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, если журналы событий были очищены
или старые записи были перезаписаны
более новыми ( рекомендуется настроить
увеличенный размер журналов событий
).