Я хотел бы протоколировать все логины 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 был выбран намеренно, поскольку мы запускаем скрипт в этом цикле)
Я хочу получить два файла:
Как я могу этого добиться?
Вы действительно хотите фильтровать по типу события, а не по идентификатору события?
EventType 1 = Ошибка, 2 = Предупреждение, которые существуют в других журналах, но не в журнале безопасности.
Журнал безопасности будет содержать только типы: 8 = успехи, 16 = сбой.
https://msdn.microsoft.com/en-us/library/ms813548.aspx
Трудно точно сказать, почему он не работает, без сообщения об ошибке или описания проблемы. Клейтон, вероятно, правильный ответ, но вы также захотите убедиться, что ваша среда, запускающая ваш скрипт / задачу / и т. Д. имеет достаточные привилегии для доступа к журналу безопасности, поскольку он требует более высокого уровня привилегий.
Наконец, если вы не являетесь большим поклонником сценариев, я бы также порекомендовал потенциально изучить продукт журнала событий, который должен иметь возможность делать то же самое в реальном времени. Например, EventSentry Light (совершенно бесплатно, без регистрации) может записывать события в текстовый файл в реальном времени.