Admin Future
241 subscribers
51 photos
1 video
4 files
120 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
🚀 PowerShell: Ускоряем чтение логов в 100 раз (XPath)

Задача: Найти в Event Log событие блокировки пользователя (ID 4740) за последний час. Обычный админ пишет так:

# 🐢 Медленно (Client-side filtering)
Get-WinEvent -LogName Security |
Where-Object { $_.Id -eq 4740 -and $_.TimeCreated -gt (Get-Date).AddHours(-1) }

Проблема: PowerShell сначала выкачивает ВСЕ миллион событий из журнала к себе в память, и только потом отсеивает нужные. Это вешает сервер.

Сеньор использует Server-side filtering (XPath):

# 🐇 Быстро (Фильтрация на уровне движка Windows)
$XML = "*[System[(EventID=4740) and TimeCreated[timediff(@SystemTime) <= 3600000]]]"
Get-WinEvent -LogName Security -FilterXPath $XML

Результат: Вместо 2 минут команда отрабатывает за 0.3 секунды. Фильтруйте данные на источнике, а не в пайплайне.

#powershell #windows #performance #scripting #optimization #xml