Если в вашей организации несколько системных администраторов, у вас периодически может возникать вопрос “Кто перезагрузил сервер?”. В этой статье я покажу как найти определения пользователя, который перезагрузил или выключил компьютер/сервер Windows.
Информация об учетной записи, которая отправила команду перезагрузки Windows сохраняется в журнал событий.
- Откройте консоль Event Viewer (
eventvwr.msc
) и перейдите в раздел Windows Logs -> System; - Включите фильтр журнала событий, выбрав в контекстном меню пункт Filter Current Log;
- В поле фильтра укажите EventID 1074 и нажмите OK;
- В журнале событий останутся только события выключения (перезагрузки), откройте любое из них;
- В событии от источника User32 будет указан пользователь, который инициировал перезагрузку Windows. В этом примере это пользователь a.novak.
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 -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 можно быстро получить имя пользователя, который перезагрузил удаленный компьютер. Получить доступ к журналу событий на удаленном хосте можно с помощью формата 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.
И конечно, вы не сможете понять, кто перезагрузил Windows, если журналы событий были очищены, или старые события перезатерты более новыми (в домене желательно настроить увеличенный размер журналов событий с помощью GPO).
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:
- Press the ⊞ Win keybutton, search for the
eventvwr
and start theEvent Viewer
- Expand
Windows Logs
on the left panel and go toSystem
- Right-click on
System
and selectFilter Current Log...
- Type the following IDs in the
<All Event IDs>
field and clickOK
: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!
Want to see your PC Startup and Shutdown History? Finding out the last time the PC was correctly turned off or booted up is the way to start troubleshooting many Windows issues. Another scenario is a public system. Thanks to the Event Viewer, administrators can view and monitor unauthorized use of the computer.
Whatever the reason, you can find out when your PC was last turned on and shut down directly from Windows. You don’t need a third-party app for this; the Windows Event Viewer can handle it perfectly.
What is the Windows Event Viewer?
The Windows Event Viewer is a Microsoft Management Console (MCC) – a core service of Windows that cannot be stopped or disabled. It keeps track of every activity that takes place on your PC.
The Event Viewer logs entries during every event. It also logs the start and stop times of the event log service (Windows), giving the correct date, time, and user details of every shutdown process.
How to use the Event Viewer?
Aside from keeping a log of when your Windows start and stop, you can use the Event Viewer for the following:
- Create custom views by saving useful event filters.
- You can see events from different event logs.
- You can also create and manage different event subscriptions.
- Create and schedule a task to run when triggered by another event.
Types of events in Windows related to shutting down and restarting
They are more than four events related to shutting down and restarting the Windows 11/10 operating system; we will list the important five. They are:
- Event ID 41: This event indicates that Windows rebooted without a complete shutdown.
- Event ID 1074: This event is written down when an application is responsible for the system shutdown or restart. It also indicates when a user restarted or shut down the system by using the Start menu or by pressing CTRL+ALT+DEL.
- Event ID 6006: This event indicates that Windows was adequately turned off.
- Event ID 6008: This Event indicates an improper or dirty shutdown. It shows up when the most recent shutdown was unexpected.
There are different ways to access any of the events listed above. The traditional way is through the Event Viewer app itself. As you will see below, most events can be accessed with the Command Prompt.
See PC Startup and Shutdown History
1] View shutdown and restart events from Event Viewer
Open the Run dialogue box and input eventvwr.msc then hit OK. In Event Viewer, select Windows Logs > System from the left pane. From the right, click on the Filter Current Log link.
Type in 41,1074,6006,6008 into the box below Includes/Exclude Event IDs...
Hit Ok. Windows then displays all shutdown-related events.
The Event Viewer shows detailed information on every operation carried out on the system. Learn how to view full event viewer logs in this article.
2] See the last shutdown time using Command Prompt
Open the Command Prompt, copy and paste the following code in the window, and hit Enter:
wevtutil qe system "/q:*[System [(EventID=1074)]]" /rd:true /f:text /c:1
To view the timestamp of the last shutdown without other details, copy and paste the code below then hit Enter:
wevtutil qe system "/q:*[System [(EventID=1074)]]" /rd:true /f:text /c:1 | findstr /i "date"
As much as this method gets the job done, we often suggest you use method one, which is the Event Viewer. Not only is it more straightforward, but it also doesn’t involve copying and pasting commands.
We hope you find this post useful.
Read: How to export Event Viewer logs in Windows
How to see PC startup and shutdown history in Windows 11?
To set PC startup and shutdown history in Windows 11, you can use Event Viewer, Command Prompt, or Terminal. In the Command Prompt, enter this command: wevtutil qe system "/q:*[System [(EventID=1074)]]" /rd:true /f:text /c:1
. It displays the complete shutdown timing along with some other descriptions.
How do I see restart logs in Windows 11?
To see the restart logs in Windows 11, you need to open the Event Viewer. Then, go to Windows Logs > System and try looking for Kernel-Power and/or Kernel-Boot. It denotes the reboot and startup. From here, you can see all the entries made by a restart.
Related read: How to find out Windows Downtime, Uptime and Last Shutdown Time.
Windows сохраняет информацию о различных системных событиях в системных журналах, с помощью которой можно определить время включения и выключения компьютера. Если вам требуется получить эту информацию, сделать это можно несколькими несложными способами.
В этой инструкции подробно о том, как посмотреть время, когда компьютер включался и когда выключался как средствами системы, так и с помощью сторонних инструментов.
Просмотр событий Windows
Первая возможность — посмотреть соответствующие события вручную, с помощью утилиты «Просмотр событий», встроенной в Windows, для этого достаточно использовать следующие шаги:
- Нажмите клавиши Win+R на клавиатуре (в Windows 11 и Windows 10 можно нажать правой кнопкой мыши по кнопке «Пуск» и выбрать пункт «Выполнить»), введите eventvwr.msc и нажмите Enter.
- В открывшемся окне просмотра событий в панели слева выберите «Журналы Windows» — «Система».
- Используйте сортировку по столбцу «Код события», либо настройте фильтр журнала (в панели справа) с указанием кодов событий 6005 (запуск) и 6006 (остановка), при необходимости — даты и времени события (при клике по заголовку столбца «Дата и время» вы можете отсортировать события по значениям в этом столбце).
- Вы увидите список событий, когда компьютер включался и выключался (есть нюансы, о которых далее).
События с указанными кодами не указывают напрямую на включение компьютера и завершение работы, а записываются в момент запуска и остановки службы журнала событий, но поскольку при штатной работе запуск и остановка происходят при включении и выключении соответственно — эту информацию можно использовать для получения требуемых сведений. Однако, в случае, например, загрузки компьютера с флешки, события записаны не будут.
Некоторые другие коды событий, имеющие отношение к включению, выключению и перезагрузке:
- 41 — перезагрузка или выключение без правильного завершения работы.
- 1074 — при инициации завершения работы или перезагрузки какой-либо программой.
- 6008 — при неправильном выключении компьютера.
Получение информации в командной строке и PowerShell
Информацию о времени событий с кодами 6005 (обычно соответствует времени запуска) и 6006 (завершения работы) можно получить с помощью командной строки или PowerShell.
В первом случае: запустите командную строку от имени администратора, а затем используйте команду
wevtutil qe system "/q:*[System [(EventID=6005)]]" /rd:true /f:text /c:1
Последнее число в команде указывает на то, сколько последних событий с указанным кодом (6005 в примере) следует отобразить.
В PowerShell от имени администратора можно использовать следующую команду:
Get-EventLog -LogName System |? {$_.EventID -in (6005,6006)} | ft TimeGenerated,EventId,Message -AutoSize -wrap
При выполнении этой команды вы получите список всех событий с указанными кодами, датой и временем.
Бесплатная утилита TurnedOnTimesView
Если вы предпочитаете использовать простые приложения, показывающие нужные сведения, время включения и выключения компьютера можно посмотреть в с помощью программы TurnedOnTimesView, доступной бесплатно на официальном сайте разработчика.
Достаточно скачать утилиту, запустить её и получить нужную информацию в удобной таблице, где показаны:
- Дата и время включения (Startup Time)
- Дата и время выключения (Shutdown Time)
- Продолжительность работы (Duration)
- Причина выключения
- Тип выключения
И некоторые другие сведения, имеющие отношение к включению ПК и завершению работы.
Программа позволяет получить сведения о включении и выключении не только для локального компьютера, но и для компьютеров в локальной сети — соответствующие настройки можно найти в параметрах программы:
Кстати, у того же разработчика есть ещё одна программа — LastActivityView, которая покажет не только время включения и выключения, но и события, связанные с запуском программ, сбоями, запуском EXE-файлов (с указанием этих файлов), подключением к сети и другие.
Средство просмотра событий 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