Как узнать кто выключил сервер windows

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

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

Средство просмотра событий 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? Сегодня у одного из моих клиентов в г. Саранск случилась неприятность! В момент работы в один миг все кассы стали, причем сразу в нескольких магазинах. Данная организация хранит свою базу на сервере под управлением Microsoft Windows Server 2012 r2. Руководитель организации сразу поручил мне разобраться – кто выключил сервер.

Забегу наперёд и скажу, что данная инструкция действует для серверов под управлением Windows 7, Windows 8, Windows 10, Windows 11 (с использованием RDP Wrapper). А также другими серверными ос семейства Microsoft (2008, 2016, 2019 ит).

И так «вода окончена».

Инструкция «как узнать какой пользователь выключил сервере?»

  • Заходим в «просмотр событий» (Панель управление (переключаем на классический вид) – АдминистрированиеПросмотри событий. Или нажимаем в пуске поиск и пишем «Просмотр событий». Если у вас англоязычная серверная ОС или не можете найти данный пункт, то можно через диспетчера задач или через комбинацию клавиш «Выполнить» (ПУСК + R) ввести команду EVENTVWR и нажать ENTER.
  • На экране в появившемся Просмотре событий выбираем – «Журнал Windows» — «Система».
  • Среди списка всех событий находим интересующее нас время. Предположительно процесс выключения сервера может называться «User32»

В моём случае было написано следующее:

Процесс C:\Windows\Explorer.EXE (SRV-SRNSK) инициировал действие «Выключение питания» для компьютера SRV-SRNSK от имени пользователя SRV-SRNSK\Tovaroved_sveta по причине: Другое (Незапланированное)

 Код причины: 0x5000000

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

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

Таким образом, мы определили кто именно выключил сервер через просмотр событий!

0

Как посмотреть логи Windows Server 2022. Журнал событий.

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

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

  • через меню Пуск – Просмотр событий (Start – Event Viewer)

win_log1.png

  • в командной строке или в окне Выполнить набрать eventvwr.msc

win_log2.png

  • в Диспетчере серверов в разделе Средства выбрать Просмотр событий (Server Manager – Tools – Event Viewer). В диспетчер серверов можно зайти, через меню «Пуск»

win_log3.png

Описание интерфейса программы

Окно программы состоит из следующих компонентов:

win_log4.png

1. Панель навигации позволяет выбрать конкретный журнал, записи которого необходимо просмотреть;

2. Список событий, содержащийся в выбранном журнале. В колонках выведена базовая информация о событии. Их можно отсортировать по датам, типам, категориям событий и т.д.;

3. Детальная информация о выбранном во второй панели событии. Также детальную информацию можно открыть в отдельном окне, если кликнуть по нужному событию два раза;

4. Панель быстрых действий, которые можно совершить с данным журналом или событием. Действия также доступны в контекстном меню (клик правой кнопкой мыши по журналу или событию).

Для удобства просмотра и управления системные журналы разбиты по категориям:

  • Приложения (Application) – как и гласит название, содержит события и ошибки приложений;
  • Безопасность (Security) – если в операционной системе включена и настроена функция аудита, журнал будет содержать записи, связанные с отслеживанием соответствующих событий (например, авторизация пользователя или попытки неудачного входа в операционную систему);
  • Система (System) – здесь регистрируются события операционной системы и системных сервисов;
  • Установка (Setup) – события, связанные с инсталляцией обновлений Windows, дополнительных приложений.

В разделе Журналы приложений и служб (Applications and Services Logs) можно найти более детальную информацию о событиях отдельных служб и приложений, зарегистрированных в операционной системе, что бывает полезно при диагностике проблем в работе отдельных сервисов.

Сами события также разделяются на типы:

  • Сведения (Information) — информируют о штатной работе приложений.
  • Предупреждение (Warning) — событие, свидетельствующее о возможных проблемах в будущем (например, заканчивается свободное место на диске – приложения могут продолжать работу в штатном режиме, но когда место закончится совсем, работа будет невозможна).
  • Ошибка (Error) — проблема, ведущая к деградации приложения или службы, потерям данных.
  • Критическое (Critical) — значительная проблема, ведущая к неработоспособности приложения или службы.
  • Аудит успеха (Success audit) — событие журнала Безопасность (Security), обозначающее успешно осуществленное действие, для которого включено отслеживание (например, успешный вход в систему).
  • Аудит отказа (Failure audit) — событие журнала Безопасность (Security) обозначающее безуспешную попытку осуществить действие, для которого включено отслеживание (например, ошибка входа в систему).
Как узнать, кто перезагрузил (выключил) сервер Windows?

Информация об учетной записи, которая отправила команду перезагрузки Windows сохраняется в журнал событий.

  1. Откройте консоль Event Viewer и перейдите в раздел Windows Logs -> System;

win_log6.png

2. Включите фильтр журнала событий в панели быстрых действий справа

win_log7.png

3. В поле фильтра укажите EventID 1074 и нажмите OK;

win_log8.png

4. В журнале событий останутся только события выключения (перезагрузки), откройте нужное событие

win_log9.png

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

В качестве пользователя, запустившего перезагрузку операционную систему может быть указан 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:

Если у Вас виртуальный сервер, и он был перезагружен из панели управления VMmanager6, то в журнале может быть следующая запись:

win_log10.png

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

Просмотр журнала производительности Windows

В просмотре событий Windows можно найти достаточное количество интересных вещей, например — посмотреть на проблемы с производительностью компьютера. Для этого в левой панели откройте Журналы приложений и служб — Microsoft — Windows — Diagnostics-Perfomance — тут вы можете наблюдать, есть ли среди событий какие-либо ошибки — они сообщают о том, что какой-то компонент или программа привела к замедлению загрузки Windows. По двойному клику по событию, вы можете вызвать подробную информацию о нем.

win_log5.png

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 не находит компьютер в сети
  • Код ошибки 0х80072f8f 0х20000 при обновлении windows 7 до windows 10
  • Как открыть xsb файл в windows 10
  • Установка java на windows 10 переменные среды
  • Переустановка windows hp omen