@long_skinny_boy

Как можно сохранять данные определенных событий журнала Windows в файле в режиме реального времени?

Добрый день, стоит задача на контроллере домена сделать некий сервис/службу или что то подобное, которые
будет в режиме реального времени ожидать определенные события (под определенными ID) и информацию по ним
сохраняться в ежедневный наполняемый CSV файл.

А именно например кто то создал нового пользователя, нужно в файл записать кто, когда и как назвал.
Аналогично потом нужно будет добавлять другие событие, например изменил аттрибуты пользователя, его членство, изменил или создал OU, назначил политику и т.д.

Т.е. примерно то что, делает тот же Netwrix.
В будущем в идеале планируется это логирование вести не в файлы, а в базу данных
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 3
@MaxKozlov
... а если вам надо вот прям рилтайм, есть .net класс System.Diagnostics.EventLog
а у него событие EventWritten
$global:log = New-Object System.Collections.ArrayList
$testobj = New-Object -TypeName System.Diagnostics.EventLog
$testobj.Log = "Security"
Register-ObjectEvent -InputObject $testobj -EventName EntryWritten -Action {
  param($sender, $e)
  [void]$global:log.Add([PSCustomObject]@{Sender = $sender; Args = $e })
}

# Смотреть потом события в переменной
$global:log


Заменил пример на более полезный
Ответ написан
@NortheR73
системный инженер
например:
PowerShell-скрипт, запуск по расписанию каждые N минут, ловит определенные события в журнале Security, складывает результаты в файл/БД
Security Log Quick Reference Chart
628cf7f721efb973848316.jpeg
Ответ написан
Keffer
@Keffer
Delenn Test Group
Софт EL to SL (EventLog to Syslog) а дальше уже привычный сислог можно разобрать чем угодно, хоть заббиксом хоть еще чем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы