Content
Kto zrestartował (wyłączył) serwer Windows?
W przypadku nieplanowanego ponownego uruchomienia serwera można zidentyfikować konkretnego użytkownika, który ponownie uruchomił lub zamknął serwer Windows.
W tym celu należy otworzyć Podgląd zdarzeń ( eventvwr.msc ). Następnie zlokalizuj System w sekcji Dzienniki Windows.
Kliknij prawym przyciskiem myszy i otwórz Filtr bieżącego dzien nika zdarzeń.
Określ filtr EventID - 1074 i kliknij "OK".
Teraz dziennik zdarzeń będzie odzwierciedlał tylko zdarzenia restartu i zamknięcia serwera.
Zdarzenie źródłowe User32 określi użytkownika, który zainicjował ponowne uruchomienie systemu Windows.
W naszym przypadku jest to administrator.
Dziennik będzie zawierał następujące informacje:
Proces C:\Windows\System32\RuntimeBroker.exe (WINDOWS2022) zainicjował wyłączenie komputera WINDOWS2022 w imieniu użytkownika WINDOWS2022\Administrator z następującego powodu:Other (Planned) Reason Code: 0x850000 Typ wyłączenia: wyłączenie Komentarz:
Restart serwera może być również spowodowany przez jedną z usług systemu Windows lub programów działających jako SYSTEM.
Takich jak wuauserv, który po zainstalowaniu aktualizacji systemu Windows wykonuje automatyczny restart.
W takim przypadku zostanie określony użytkownik, który wykonał restart - AUTHORITY\SYSTEM.
Na przykład:
Proces C:\Windows\uus\AMD64\MoUsoCoreWorker.exe (WKS-PC11S22) zainicjował ponowne uruchomienie komputera WKS-PC11S22 w imieniu użytkownika NT AUTHORITY\SYSTEM z następującego powodu: System operacyjny: Service Pack (Planowany) Kod przyczyny: 0x80020010 Typ zamknięcia: restart Komentarz:
Podczas korzystania z maszyny wirtualnej VMware dla systemu Windows, po wykonaniu polecenia"Uruchom ponownie gościa" za pośrednictwem konsoli zarządzania VMware,
zamknięcie systemu operacyjnego Windows jest również wykonywane z poziomu użytkownika -NT AUTHORITY\SYSTEM, ponieważ usługi VMware Tools, które zapewniają integrację, działają z uprawnieniami systemowymi.
Na przykład:
Proces C:\Program Files\VMware\VMware Tools\vmtoolsd.exe (WINDOWS2022) zainicjował zamknięcie komputera WINDOWS2022 w imieniu użytkownika NT AUTHORITY\SYSTEM z następującego powodu: Legacy API shutdown Kod przyczyny: 0x80070000 Typ zamknięcia: zamknięcie
Aby wyświetlić wszystkie zdarzenia z dziennika zdarzeń o identyfikatorze EventID 1074 za pomocą programu PowerShell, wprowadź następujące polecenie:
Get-Eventlog -Logname System |? {(1074) -contains $_.EventID} | ft Timegenerated,EventID,Message
Można również użyć skryptu PowerShell, który dostarcza informacji o ostatnich dziesięciu zdarzeniach, w tym
nazwy użytkowników i procesy odpowiedzialne za ponowne uruchomienie lub zamknięcie serwera.
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
Za pomocą polecenia cmdlet Invoke-Command z PowerShell można uzyskać nazwę użytkownika, który ponownie uruchomił komputer zdalny.
Aby to zrobić, wpisz polecenie:
Invoke-Command -ComputerName localhost -ScriptBlock {Get-Eventlog -Logname System |? {(1074) -contains $_.EventID} | ft Timegenerated,EventID,Message}
Zdarzenie 1074 służy wyłącznie do identyfikacji przyczyny standardowego restartu serwera. Jeśli ponowne uruchomienie systemu operacyjnego Windows
Windows był spowodowany nietypowym zdarzeniem, takim jak awaria zasilania lub BSOD, należy przeanalizować zdarzenia o identyfikatorze EventID 6008.
Należy pamiętać, że nie będzie można określić, kto ponownie uruchomił lub zamknął serwer Windows,jeśli dzienniki zdarzeń zostały wyczyszczone
lub stare wpisy zostały zastąpione nowszymi (zaleca się skonfigurowanie większych dzienników zdarzeń).
Щелчок
правой кнопки мыши, открываем фильрт
Filtr журнала событий
Bieżący dziennik;
Указываем фильтр EventID - 1074
и
нажмимаем OK;
Теперь
журнале событий будут отражены только
события перезагрузки и выключения
вашего сервера.
В событии от источника
User32
будет
указан пользователь, который инициировал
перезагрузку Windows.
В нашем случае
это - administrator.
Proces
proces C:\Windows\System32\RuntimeBroker.exe (WINDOWS2022) zainicjował wyłączenie komputera WINDOWS2022.
zainicjował wyłączenie komputera WINDOWS2022 w imieniu użytkownika
WINDOWS2022\Administrator z następującego powodu: Inny (planowany)
Powód
Kod: 0x85000000
Typ wyłączenia: wyłączenie zasilania
Komentarz:
Так
же перезагрузка сервера может быть
W przypadku, gdy w systemie operacyjnym nie są dostępne żadne opcje, należy je odblokować.
Windows
запущенная
от имени SYSTEM.
Такой как wuauserv ,
который закончил установку обновлений
Windows и выполнил автоматическую
перезагрузку. В этом случае будет указан
пользователь выполнивший перезагрузку
- NT
AUTORYTET\SYSTEM.
При
использовании виртуальной машины VMware
w systemie Windows, uruchom ponownie program "Restart
Gość
" через консоль управления VMware,
Windows, Windows, Windows, 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) -contains
$_.EventID} | ft Timegenerated,EventID,Message
Вы
можете использовать скрипт 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,
Akcja, Powód, Użytkownik, Proces |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) -contains $_.EventID} | ft
Timegenerated,EventID,Message}
Событие
1074 используется исключительно для
выявления причин стандартных перезагрузок
сервера. Если перезагрузка операционной
системы Windows была вызвана нештатным
событием, таким как сбой питания или
появление "синего экрана смерти"
(BSOD), в таком случае следует анализировать
события с кодом EventID 6008.
Отметим, что вы не сможете определить
кто перезагрузил или выключил сервер
Windows, если журналы событий были очищены
или старые записи были перезаписаны
более новыми ( рекомендуется настроить
увеличенный размер журналов событий
).