1️⃣ Анализ логов через PowerShell. PowerShell позволяет извлекать события из журнала Windows через Get-WinEvent или Get-EventLog.
📍 Пример 1: Найти все неудачные попытки входа (Event ID 4625):
Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Select-Object TimeCreated, Id, Message
📍 Пример 2: Вывести последние 10 ошибок из системного журнала:
Get-WinEvent -LogName System -MaxEvents 10 | Where-Object { $_.Level -eq 2 }
📍 Пример 3: Фильтрация по дате и пользователю:
$start = (Get-Date).AddDays(-1) # Логи за последние 24 часа
Get-WinEvent -LogName Security | Where-Object { $_.TimeCreated -ge $start -and $_.Message -match "admin" }
PowerShell удобен, но не всегда эффективен при анализе больших логов. Тут поможет LogParser.
2️⃣ LogParser: SQL-запросы к логам Windows. LogParser - инструмент от Microsoft, который позволяет выполнять SQL-запросы к журналам событий, файлам и даже реестру.
⚙️ Установка: Скачиваем LogParser с официального сайта Microsoft и устанавливаем.
📍 Пример 1: Вывести все ошибки из системного журнала:
LogParser.exe "SELECT TimeGenerated, EventID, Message FROM System WHERE EventType = 1" -i:EVT
📍 Пример 2: Найти неудачные попытки входа:
LogParser.exe "SELECT TimeGenerated, SID, Message FROM Security WHERE EventID = 4625" -i:EVT
📍 Пример 3: Вывести топ-10 процессов, потребляющих ресурсы:
LogParser.exe "SELECT TOP 10 Image, COUNT(*) AS Hits FROM 'C:\Windows\System32\winevt\Logs\Application.evtx' GROUP BY Image ORDER BY Hits DESC" -i:EVT
LogParser умеет анализировать не только логи, но и файлы CSV, IIS-логи, текстовые файлы и даже WMI-запросы.
#windows #logs
🧑💻 NetworkAdmin