Уведомление на e-mail при наступлении события в Eventlog
Дано:
Серверы: Windows Server 2008 R2, Windows Server 2012
Задача:
Настроить уведомления по e-mail администратору на примере события перезагрузки серверов.
Решение:
Нам понадобится: скрипт, который отправляет email, скрипт, который выводит содержание интересующих нас событий, задание и учетная запись, от имени которой исполняются скрипт и задание. Решение будет развернуто через групповую политику.
По условиям задачи нас интересует событие с ID 1072 из журнала System.
Часть 1. Настройка учетной записи пользователя, от имени которого будут выполняться скрипты и задания.
1. Создаем в AD пользователя monitoring, создаем ему почтовый ящик.
2. Создаем группу Monitoring_group
3. Создаем (или открываем) групповую политику, привязанную к OU, содержащую интересующие нас серверы, назовем ее events.
3.1. (Политика компьютера – политики – конфигурация Windows – Параметры безопасности – Группы с ограниченным доступом):
Создаем группу Monitoring_Group (выбираем из списка), содержащую в себе пользователя Monitoring и входящую в состав группы Eventlog Readers (чтение журнала событий)
3.2. (Политика компьютера – политики – конфигурация Windows – Параметры безопасности – Локальные Политики – Назначение прав пользователя):
3.3. Разрешаем свежепровозглашенной группе вход в качестве пакетного задания.
Часть 2. Настройка отсылки e-mail сообщений.
В Windows Server 2012 функция отсылки электронного сообщения при наступлении определенного события в eventlog упразднена. Вместо нее рекомендуется использовать powershell. В 2008 R2 функция работает, однако мы оставим ее в покое и будем использовать более универсальную процедуру.
Напишем универсальный скрипт events.ps1, который будет выбирать нужные события из журнала и посылать их по электронной почте, разместим его в сети, убедившись, что у пользователя monitoring есть к нему доступ на чтение.
Часть 3. Настроим назначенное задание, которое будет выполняться по событию
В групповой политике events (см Часть 1) создадим задание “eventifreboot”:
(Политика компьютера – политики – Настройка – параметры панели управления – Назначенные задания)
вкладка Общие: выбираем нашего пользователя monitoring, чтобы задание выполнялось от его имени, ставим флажок “выполнять вне зависимости от регистрации пользователя”
вкладка Триггеры: создаем “по событию”, журнал System, источник USER32, код события 1074
вкладка Действия:
запуск программы
“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe“,
аргументы
” -noprofile -ExecutionPolicy bypass -command \\PATHtoSCRIPT\events.ps1 System 1074 “Перезагрузка/выключение” ”
Готово.
Аналогичным образом можно настроить уведомления и на другие события из журнала.