Показаны сообщения с ярлыком parse text logs. Показать все сообщения
Показаны сообщения с ярлыком parse text logs. Показать все сообщения

среда, 5 марта 2014 г.

Get-Eventlog Get-LogonHistory.ps1 script

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

Скрипт делает удаленную выборку событий журналов Eventlog security на предмет  последних интерактивных входов  пользователей в ОС Windows.
Скрипт решает несколько задач:
  • Автоматическое определение версии  и локализации ОС, Get-Wmi-Object  вследствие выполняются четыре различные функции
  • Ввод компьютеров с консоли пользователя либо опрос файла со списком компьютеров с которых нужно собрать информацию
  • Сбор информации из Eventlog Security за несколько последних дней. История входа пользователей.
  • Сбор данных о пользователях из Active Directory Get-Aduser mail, telephonenumber
  • Вывод требуемой информации в файл формата CSV  для последующей обработке в Excel со столбцами
Скачать мой скрипт можно отсюда:

Спасибо человеку с Github -  Craig Meinschein https://github.com/pfaffle за предоставленную наработку. Его скрипт был взят за основу и дописан мною под требования заказчика.

А задача была следующая:
Определение  для виртуальных Windows-машин неизвестного назначения 5-ти последних профилей пользователей AD, которые регистрировались  в операционной системе. Далее, опираясь на эту информацию, подготовить таблицу следующего содержания:

- Пользователь AD (по профилю);
- Список ОС виртуальных машин, на которых он регистрировался;
- Контакты пользователя из AD (email, телефон)
*** одна строка: 1 пользователь, 1 ВМ на которой он логинился, контакты пользователя в каждой строке. (для последующей сортировки в Excel)

Мне много пришлось потрудиться. Я потратил на скрипт неприличное количество часов и даже купил книжку по powershell. 

Мне очень понравилась задумка с функциями, которые предназначены для разных ОС учитывая разные номера EventID.  Функции выполняются на основе выбора оператором ветвления If() .. else if ().. и определению типа операционной системы Windows Server 2003 или Windows Server  2008.

Коды event ID с выходом Windows Server 2008 изменились. Коды событий взяты из замечательных справочников :

Давайте разберем понятия интерактивных входов в систему консоль entrytype=2 entrytype=10
Следует понимать, где следует собирать информацию о входах. Существует ошибочное мнение тех, кто готовился к экзаменам по сертификации МС, что информацию о входах пользователей надо искать на контроллерах домена. Но там будут только события сетевых входов entrytype=3. Это данные аутентификации пользователя в домене. 
Что мы понимаем под логином пользователя? сетевой вход, обращение к сетевой папке, вход компьютера, запрос билета керберос. Я провел тесты и обнаруживаю, что интересующие нас интерактивные входы контроллер не регистрирует. А значит их следует искать в локальных файлах журналов Eventlog Security куда непосредсвенно входил пользовтель по RDP  entrytype=10 и в консоль entrytype=2 (по нажатию ctrl + alt + delete).

Еntry type=2 — Interactive. Успешный вход пользователя на компьютер.
Entry type=10 — RemoteInteractive. Пользователь выполнил удаленный вход на этот компьютер, используя Terminal Services или Remote Desktop.

Информация по типам входа есть тут:

Более того, события в журнал пишутся на языке локализации ОС. Это значит, что будут разные записи в журнале смысл которых одинаков, а парсинг надо написать для каждого языка свой.
Пример:
"Entry type" = "Тип входа"
Для русской локазизации ОС пришлось написать еще две функции.

вторник, 21 января 2014 г.

How to monitor Text and CSV log files in SCOM

Имеется задача. Выявить, состоит ли белый ип адрес почтового сервера в DNS BL?

DNS Block List - DNS blacklist или DNS blocklist — списки хостов, хранимые с использованием системы архитектуры DNS. Обычно используются для борьбы со спамом. Почтовый сервер обращается к DNSBL, и проверяет в нём наличие IP-адреса клиента, с которого он принимает сообщение. При положительном ответе считается, что происходит попытка приёма спам-сообщения. Серверу отправителя сообщается ошибка 5xx (неустранимая ошибка) и сообщение не принимается. Почтовый сервер отправителя создаёт «отказную квитанцию» (NDR) отправителю о недоставке почты.

Попробуем с помощью System Center Operations Manager заполучить эту  «отказную квитанцию» и вывести на консоль оператора в виде алерта.

Нам потребуются:

SMTPDIAG консольная утилита с параметрами, которая позволяет получать коды ответы SMTP сервера по принципу как если бы мы подключались через telnet <host> 25, но с некоторыми возможностями автоматизации. Вывод этой утилиты мы запишем в текстовый файл. С файлом будет как раз работать SCOM, обрабатывать его новые строки и вынимать интересующую нас информацию. 
  1.  Создание лог-файла
  2. Создание правила в SCOM
  3. Вывод Алерта