Как узнать кто перезагрузил windows server 2012

Как узнать кто перезагрузил windows server 2012

Всем привет, сегодня небольшая заметка для начинающих системных администраторов, рассмотрим вопрос как определить кто перезагрузил сервер Windows. Бывают ситуации, что по какой то причине отваливается сервер его удаленно перезагрузили, зайдя на которой вы не видите что у него был синий экран BSOD, и значит надо искать кто то его отправил в ребут. Вам необходимо выяснить кто это был.

И так рассматривать кто перезагрузил сервер Windows я буду на примере Windows Server 2008 R2, но все действия абсолютно одинаковы в любой версии Windows начиная с Vista. Поможет нам в реализации нашей задачи оснастка Просмотр событий. Открыть его можно Пуск-Администрирование-Просмотр событий или нажать WIN+R и ввести там evenvwr.msc.

у вас откроется оснастка Просмотр событий. Вам нужно выбрать журнал Windows Система. В нем как раз и находится нужная нам информация в виде события. Проблема в том что их генерируется порой очень много, для этого придумали фильтр. Жмем справа в колонке действия Фильтр текущего журнала.

В открывшемся окне вам нужно отфильтровать данный журнал. Задаем дату, я выставил период за последнюю неделю,

можете выставить и меньше и больше. Выбираем уровень событий, ставим все и самое главное какой будет источник событий. В источнике событий выбираете USER32, он и хранит нужный лог.

В итоге у меня получилась вот такая картина

После нажатия кнопки ок вы получите отфильтрованный журнал система, у меня нашлось одно событие. Код события 1074 о том что сервер с Windows Server 2008 R2 был перезагружен системой после установки программы Microsoft SOAP Toolkit.

Мне этого мало и нужно понять кто начал установку данного приложения. Для этого так же переходив уже в журнал Приложения, делаем фильтр, дату ставим например тоже неделю

Еще отфильтруем по кодам событий с 1035-1040

И в итоге мы видим вот такое событие

Вот мы и выяснили кто он мистер Х. В качестве эксперимента можете удаленно перезагрузить тестовую машину или например я рассказывал как перезагрузить компьютер через командную строку.

Как узнать кто перезагрузил windows server 2012

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз я вас научил определять кто именно перезагрузил сервер, это полезный навык при расследовании инцидентов. Бывают ситуации, что на сервер используют большое количество пользователей с одинаковыми правами, и вдруг куда-то пропадает одна из программ, вы видите что ее нет, логично, что нужно выяснить кто именно удалил программу. Вот этим мы и займемся, я вас научу получать информацию, кто установил или удалил программу в Windows.

Читайте также:  Команды для linux команда запуска

Как узнать кто установил программу и когда

И так у меня есть тестовый сервер с операционной системой Windows Server 2019 и я на него в качестве демонстрации буду устанавливать Microdoft Edge Chromium, FireFox Mozilla, а так же LogParser. Все события, что генерируются в операционной системе Windows появляются в просмотре событий, это лог файлы разбитые по журналам.

Открываем логи Windows, журнал «Приложение (Application)» или «Система (System)«, все зависит от инсталлятора которым собран пакет, так как есть те, что используют метод MsiInstaller , но есть и другие. Теперь запускаем инсталлятор LogParser. После установки я открываю журнал «Приложение», где я вижу ряд событий,

первое это событие с ID 1040 покажет вам начало установки программы:

Далее идет сообщение с кодом ID 10000.

Далее вы увидите событие, где заканчивается установка программы ID 1042

Завершается сеанс событием с кодом ID 10001

И заканчивается установка программы событием с кодом ID 11707

Иногда вы можете увидеть событие с ID 1033.

Если вы внимательны, то можете обратить внимание, что источником событий тут выступает MsiInstaller. Зная это вы легко можете произвести фильтрацию. Для этого в правой части найдите пункт «Фильтр текущего журнала»

В источниках событий выберите из выпадающего списка пункт MsiInstaller.

В итоге у меня получилось вот так.

Теперь когда события отфильтрованы по источнику MsiInstaller, вам будет еще легче найти кто установил, что установил и когда. В моем примере это сделал ROOT\Администратор.

Так же событие ID 11707 с пользователем «SYSTEM (СИСТЕМА)» вы можете обнаружить, когда люди используют «Software Store» в SCCM

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

Автоматизация оповещения по событиям 11707

Теперь когда вы знаете, как находить события по установке программ в системах семейства Windows, вам нужно автоматизировать данный процесс. Например, получать по почте, кто установил, где и что. В этом нам поможет конечно же PowerSell. Смысл автоматизации состоит в том, что вы на нужном сервере создаете задание в планировщике Windows, где будет запускаться скрипт PowerShell. Я вам приведу два скрипта, первый тот, что гуляет на просторах интернета.

Тут главное заполнить:

  • Адрес вашего SMTP сервера
  • От кого будет письмо
  • Кому отправлять письмо
  • Пароль от ящика отправителя

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

Тут два недостатка, во первых вы не видите, где был установлен новый софт, понятно, что можно на каждом сервере, где выполняется скрипт писать свою тему, но это не так удобно. Во вторых у вас в место имени пользователя идет SID, который потом нужно конвертировать в понятное имя.

Так же вам никто не запрещает просто открыть PowerShell и ввести не сложный код:

Напоминаю, что select-object -first 1 выводит первое событие, можете увеличить на нужное вам.

Как найти события установки программ не методом MsiInstaller

Как я и писал выше не все инсталляторы программ используют метод MsiInstaller, например при установке Edge Chrome или Mozilla Firefox, вы в журнале «Приложение» не обнаружите события с кодом ID 11707. В таком случае вам нужно перейти в журнал «СИСТЕМА (SYSTEM)» и сразу отфильтровать события по номеру ID 7045.

Читайте также:  Windows loader windows 9600

Выглядит событие ID 7045 вот так:

Имя службы: Mozilla Maintenance Service
Имя файла службы: «C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe»
Тип службы: служба режима пользователя
Тип запуска службы: Вручную
Учетная запись службы: LocalSystem

Имя службы: Microsoft Edge Elevation Service
Имя файла службы: «C:\Program Files (x86)\Microsoft\Edge\Application\80.0.361.111\elevation_service.exe»
Тип службы: служба режима пользователя
Тип запуска службы: Вручную
Учетная запись службы: LocalSystem

Как узнать кто удалил программу с сервера или компьютера

По аналогии с установкой, процесс деинсталляции или как его еще называют удаление, генерирует свои события в журналах Windows. Если мы говорим, про источник MsiInstaller из журнала «Приложение (Application)», то нам нужно фильтровать события по ID 11724 и ID 1034.

Так же вы можете спокойно использовать описанный выше скрипт и команду PowerShell, для автоматизации оповещения, о удалении программы.

Дополнительно

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

Как разрешить (запретить) обычному пользователю перезагрузку (выключение) Windows?

В этой статье мы рассмотрим несколько способов, позволяющих управлять правами пользователей на перезагрузку и выключение компьютеров и серверов Windows. По умолчанию пользователи могут перезагружать и выключать только десктопные версии Windows, и не могут перезагрузить сервер (кнопки выключения и перезагрузки не доступны). Возможно ли разрешить пользователю без прав локального администратора перезагружать Windows Server? Возможна и обратная задача – запретить пользователям перезагружать компьютер с Windows 10, который используется в качестве некого информационного киоска, диспетчерского пульта и т.д.

Разрешить (запретить) пользователю перезагрузку Windows с помощью политики

Права на перезагрузку или выключение Windows можно настроить с помощью политики “Завершение работы системы” (Shut down the system) в секции GPO: Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> User Rights Assignment).

Обратите, что по-умолчанию права на выключение/перезагрузку Windows различаются в десктопных версиях Windows 10 и в редакциях Windows Server.

Откройте редактор локальной политики gpedit.msc и перейдите в указанную выше секцию. Как вы видите, в Windows 10 права на перезагрузку (выключение) компьютера есть у членов локальных групп: Администраторы, Пользователи и Операторы архива.

В то время как в Windows Server 2012 R2 выключить или перезагрузить сервер могут только Администраторы или Backup Operators. Это правильно и логично, т.к. у пользователей в подавляющем большинстве случаев не должно быть прав на выключение сервера (даже случайное). Представьте себе RDS сервер, который периодически выключается из-за того, что пользователи случайно нажимают на кнопку выключения в стартовом меню…

Читайте также:  Дефрагментация оперативной памяти windows

Но из всякого правила бывают исключения. Соответственно, если вы хотите разрешить определенному пользователю (без права администратора) перезагружать ваш Windows Server, достаточно добавить его учетную запись в эту политику.

Или наоборот, вы хотите запретить пользователям десктопной редакции Windows 10 перезагружать компьютер, который выполняет некую серверную функцию. В этом случае вам достаточно удалить группу Users из локальной политики “Завершение работы системы”.

Аналогичным образом вы можете запретить (или разрешить) выключение или перезагрузку компьютеров для всех компьютеров в определённом OU домена Active Directory с помощью доменной политики. С помощью редактора доменных GPO (gpmc.msc) создайте новую политику Prevent_Shutdown, настройте параметр политики “Shut down the system” в соответствии с вашими требованиями и назначьте политику на OU с компьютерами или серверами.

Право на удаленное выключение/перезагрузку Windows

Вы также можете разрешить определенным пользователям перезагружать ваш Windows Server удаленно с помощью команды shutdown, не предоставляя пользователю права локального администратора и право на RDP вход на сервер.

Для этого необходимо добавить учетную запись нужного пользователя в политику “Принудительное удаленное завершение работы” (Force shutdown from a remote system) в той же самой секции GPO Назначение прав пользователя (User Rights Assignment).

По умолчанию выключить сервер удаленном могут только администарторы. Добавьте в политику нужную учетную запись пользователя.

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

shutdown -m \\msk-repo01 -r -f -t 0

Скрыть от пользователя Windows кнопки выключения и перезагрузки

Кроме того, есть специальная политика, позволяющей убрать у пользователя команды выключения, перезагрузки и гибернации компьютера со стартового экрана и меню Start. Политика называется «Удалить команды Завершение работы, Перезагрузка, Сон, Гибернация и запретить доступ к ним” (Remove and Prevent Access to the Shut Down, Restart, Sleep, and Hibernates commands) и находится в разделе GPO пользователя и компьютера: Конфигурация компьютера (пользователя) -> Административные шаблоны -> Меню “Пуск” и панель задач (Computer Configuration -> Administrative Templates -> Start Menu and Taskbar).

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

Как узнать, кто перезагрузил (выключил) Windows сервер?

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

Для этого нужно использовать журнал событий Event Viewer (eventvwr.msс). Перейдите в раздел Windows Logs -> System и отфильтруйте журнал по событию с Event ID 1074.

Как вы видите, в журнале событий остались события перезагрузки сервера в хронологическом порядке. В описании события указано время перезагрузки, причина и учетная запись, которая выполнила рестарт.

Log Name:System
Source: User32
EventID: 1074
The process C:\Windows\system32\winlogon.exe (MSK-RDS1) has initiated the restart of computer MSK-RDS1 on behalf of user CORP\AAIvanov for the following reason: No title for this reason could be found.
Reason Code: 0x500ff
Shutdown Type: restart
Comment:

Аналогичным образом можно получить информацию о последних событиях перезагрузки Windows. Для этого нужно искать по событию с кодом 1076.

Оцените статью