Протоколирование Windows-логинов с помощью logParser
Я хотел бы протоколировать все логины Windows с logparser. Все хорошо работает для приложения или системы, но не в безопасности.
Сценарий выглядит так:
"C:\Program Files (x86)\Log Parser 2.2"\logparser.exe -i:EVT -o:TPL -tpl:"C:\scripts\CheckServices\Logparser.tpl" "SELECT TimeGenerated,EventID,EventType,EventTypeName,EventCategory,EventCategoryName,SourceName,Strings,ComputerName,SID,Message FROM \\127.0.0.1\Security WHERE TimeGenerated > TO_TIMESTAMP(SUB(TO_INT(TO_LOCALTIME(SYSTEM_TIMESTAMP())),1200)) AND EventType IN (1;2) ORDER BY TimeGenerated DESC" -q:ON -stats:OFF >> c:\temp\failed.html
(Таймфрейм 1200 был сделан намеренно, когда мы запускаем скрипт в этом цикле)
Я хотел бы получить два файла:
- failed.html со всеми неудачными логинами
- all.html со всеми логинами
Как мне этого добиться?
2 ответа
Вы действительно хотите фильтровать по EventType, а не по EventID?
EventType 1 = ошибка, 2= предупреждение, которое существует в других журналах, но не в журнале безопасности.
Журнал безопасности будет содержать только типы: 8= успехи, 16= отказ.
https://msdn.microsoft.com/en-us/library/ms813548.aspx
Трудно точно сказать, почему это не работает без сообщения об ошибке или описания проблемы. Клейтон, вероятно, является правильным ответом, но вы также должны убедиться, что ваша среда запускает ваш скрипт / задачу / и т.д. имеет достаточные привилегии для доступа к журналу безопасности, поскольку требует более высокого уровня привилегий.
Наконец, если вы не большой поклонник сценариев, я бы также порекомендовал изучить продукт журнала событий, который мог бы делать то же самое в реальном времени. Например, EventSentry Light (совершенно бесплатно, без регистрации) может записывать события в текстовый файл в режиме реального времени.