Для логов PowerShell и BAT-скриптов необязательно создавать отдельные текстовые файлы. Важные события можно записывать прямо в Event Viewer. Это удобно, потому что такие записи проще искать, фильтровать и собирать централизованно через WEF, SIEM или систему мониторинга.
▪️ Сначала создадим отдельный источник событий:
New-EventLog -LogName Application -Source "MyScript"
Эту команду обычно достаточно выполнить один раз с правами администратора.
▪️ Теперь можно записать событие в журнал Application:
Write-EventLog `
-LogName Application `
-Source "MyScript" `
-EntryType Information `
-EventID 1 `
-Message "Запущен PowerShell-скрипт проверки состояния сервера"
▪️ Для ошибок и предупреждений меняем тип события:
Write-EventLog `
-LogName Application `
-Source "MyScript" `
-EntryType Error `
-EventID 1001 `
-Message "Не удалось подключиться к серверу"
Полезно заранее определить свою схему Event ID:
1 -запуск скрипта
2 - успешное завершение
100 - предупреждение
1001 - ошибка выполнения
▪️ Если не хочется смешивать записи с общим журналом Application, можно создать отдельный EVTX-журнал:
New-EventLog -LogName CustomPSLog -Source "PS1Script"
А затем писать события уже в него:
Write-EventLog `
-LogName CustomPSLog `
-Source "PS1Script" `
-EntryType Information `
-EventID 1 `
-Message "Скрипт запущен"
▪️ В BAT- и CMD-скриптах для этого есть команда eventcreate:
eventcreate /t information /l application /id 1 /d "BAT script started"
Для записи ошибки:
eventcreate /t error /l application /id 1001 /d "BAT script failed"
Подробный debug-вывод удобнее оставлять в обычном текстовом логе. Хорошая схема выглядит так: детали — в файл, важные события — в Event Viewer.
#windows #eventviewer
🧑💻 NetworkAdmin