Showing posts with label event. Show all posts
Showing posts with label event. Show all posts

Friday, 21 March 2025

Запись и чтение событий в журнал Event Viewer

Привет всем.

Пожалуй вы в курсе, что вместо использования текстовых лог файлов в скриптах, можно записывать информацию о событиях Windows непосредственно в журналы Event Viewer. Ниже мы рассмотрим, как записывать логи в журналы событий Windows из скрипта PowerShell или из командной строки.

Я бы добавил что использование командлетов Write-EventLog и Get-WinEvent вам наверняка не в новость, но организация отдельного журнала событий точно будет полезна.

Итак, для записи информации в журнал событий используется командлет Write-EventLog. Например, что записать информационного событие в журнал Application, выполните:

Write-EventLog -LogName Application -Source "Application" -EntryType Information -EventID 1 -Message "PS1 Script started"

Можно добавить отдельный источник событий в существующий журнал:

New-EventLog -LogName Application -Source "MyScripts"

Теперь можно записывать события с собственным источником:

Write-EventLog -LogName Application -Source "MyScripts" -EntryType Warning –EventID 1 –Message "PS1 Script started"

Tuesday, 17 September 2024

Wi-Fi report in Windows.

Всім привіт.

Колись давно я проводив діагностику мережі з Get-NetView. Але сама Windows 11 для цього має функцію для пакетної генерації детального звіту про історію підключень бездротової мережі (Wi-Fi) вашого комп'ютера. 

Звіт містить детальну інформацію про:

1. Мережі Wi-Fi, до яких ви підключалися

2. Тривалість сеансу

3. Будь-які помилки які трапились в роботі мережі

4. Доступні мережні адаптери 

5. Інші дані, виведені кількома командами в інтерфейсі командного рядка (наприклад командний рядок або PowerShell.)

Тобто якщо ви навчитеся користуватися цим інструментом, він може бути корисним для діагностики проблем з підключенням Wi-Fi.

Як створити звіт про безпроводову мережу в Windows? 

Виявляється це надто просто. Можливо ця команда з'явилася нещодавно бо раніше я її в netsh не помічав. Запустіть від імені Адміністратора вікно командного рядка та введіть наступну команду, а потім натисніть клавішу Enter :

netsh wlan show wlanreport

Це все, звіт готовий!  Знайдете його тут C:\ProgramData\Microsoft\Windows\WlanReport



Звіт про безпроводову мережу створено у вигляді HTML-файлу, який можна відкрити у веб-браузері. У звіті відображаються всі події Wi-Fi за останні три дні та групуються за сеансами підключення Wi-Fi. Він також відображає результати кількох сценаріїв командного рядка, пов'язаних із мережею, і список усіх мережних адаптерів на вашому комп'ютері.

Sunday, 3 January 2021

Менеджер событий Cisco EEM.


Всем привет.

Сisco IOS Embedded Event Manager (EEM) - это подсистема Cisco IOS, которая позволяет создавать апплеты EEM. Аплеты EEM состоят из операторов, которые обнаруживают событие, произошедшее на устройстве IOS или в подключенной сети, и действий, которые должны выполняться при обнаружении события. В IOS доступен ряд детекторов событий, количество которых может варьироваться в зависимости от версии IOS. Действия EEM включают выполнение команд IOS, создание ловушки SNMP (SNMP trap), выполнение других политик EEM или отправку уведомления по электронной почте на адрес, указанный в политике и другие.

Следущая команда показывает какая версия EEM используется в вашем IOS и какие события (events) доступны:

R3#sh event manager version 

Далее рассмотрим несколько примеров использования апплетов ЕЕМ. Создадим резервироваие нашего канала в интернет и мониторинг сети с уведомлением администратора по email.

Для проверки доступности интернет будем пинговать DNS-сервер google 8.8.8.8 через ip sla если у нас два провайдера. Предварительно необходимо прописать маршрут, чтобы трафик до них всегда шел через нужного нам провайдера (ip route 8.8.8.8 255.255.255.255). Итак, запустим echo-запросы с таймаутом в 500 ms и проверкой раз в час.

ip sla 1
icmp-echo 8.8.8.8
timeout 500
frequency 3600
ip sla schedule 1 life forever start-time now
track 1 rtr 1 reachability

#1. Резервироваие канала интернет.

Создаем событие - если google не пингуются, в свойствах VPN-туннеля в качестве источника указываем WAN-интерфейс второго провайдера

event manager applet ISP1-DOWN
event track 1 state down
action 0.9 cli command "enable"
action 1.0 cli command "conf t"
action 1.1 cli command "int tu0"
action 1.2 cli command "tunnel source FastEthernet0/2/0"
action 1.3 syslog msg "ISP1 is Down"
action 1.4 cli command "end"
action 1.5 cli command "exit"

Теперь создаем событие - если google доступен, то возвращаемся обратно к первому провайдеру.

event manager applet ISP1-UP
event track 1 state up
action 0.9 cli command "enable"
action 1.0 cli command "conf t"
action 1.1 cli command "int tu0"
action 1.2 cli command "tunnel source FastEthernet0/1/0"
action 1.3 syslog msg "ISP1 is Up"
action 1.4 cli command "end"
action 1.5 cli command "exit"

Monday, 20 July 2020

Мониторинг журналов Windows на лету.

Всем привет.

Как уже говорилось, для доступа к событиям Windows из командной строки нужно использовать команду wevtutil. Хотя эта команда универсальна, она не имеет таких функций, как tail, которые можно задействовать для извлечения новых поступающих записей. Но выход есть - использовать простой сценарий bash, который может предоставить такую же функциональность. Пример ниже.

#!/bin/bash -
#
# Описание:
# Выполнение функции наподобие tail для журнала Windows
#
# Использование: ./wintail.sh

WINLOG="Application"
LASTLOG=$(wevtutil qe "$WINLOG" //c:1 //rd:true //f:text)

while true
do
      CURRENTLOG=$(wevtutil qe "$WINLOG" //c:1 //rd:true //f:text)
      if [[ "$CURRENTLOG" != "$LASTLOG" ]]
      then
            echo "$CURRENTLOG"
            echo "----------------------------------"
            LASTLOG="$CURRENTLOG"
      fi
done

Переменная WINLOG определяет журнал Windows, который вы хотите отслеживать. Для получения списка журналов, доступных в системе в настоящее время, можете использовать команду wevtutil el.

Далее для запроса указанного файла журнала выполняется команда wevtutil. Параметр c:1 возвращает только одну запись журнала. Параметр rd:true позволяет команде считать самую последнюю запись журнала. Наконец, f:text возвращает результат в виде обычного текста, а не в формате XML, что позволяет легко читать результат с экрана.

Friday, 24 April 2020

Windows Event Forwarding - вспомнить все.

Всем привет.

Так уж получилось что опять меня спросили про настройку передачи событий с одного хоста (источник) на сервер (коллектор). Операция несколько тривиальная, но когда ее проходишь редко то кое-что забывается. Перечитав свой блог я заметил что у меня на эту тему было целых 4 поста (ссылки приведены в конце текста). Но ни один из них не дает четкой последовательности действий.  Поэтому сегодня я решим освежить себе, а заодно и вам,  всю процедуру целиком с нового источника. Итак поехали.

Настройка на сервере Windows Event Collector (WEC).

Для настройки Windows Event Forwarding необходимо на сервере, который будет выступать в роли Коллектора логов (сервер WEC) выполнить следующие действия: 

1) Настроить подписку (Event Viewer/Subscriptions): 
Зображення, що містить знімок екрана

Автоматично згенерований опис

Зображення, що містить знімок екрана

Автоматично згенерований опис

Версия на печать

Популярное