2015-10-08 41 views
1

我需要为Active Directory中的事件设置Windows计划任务。从事件中读取数据

我的事件的内容(我不知道它是如何称呼)是一样的东西:

enter image description here

有没有办法阅读并从此使用帐户名称和事件ID的值一个批处理文件中的事件会在发生此事件时启动?

+0

http://ss64.com/nt/wevtutil.html – npocmaka

回答

1

schtasks你可以触发一个批处理文件/sc onevent

SCHTASKS /Create /SC ONEVENT /mo */EventData/Data[@Name='SubjectUserName']='reduser' /EC Security /tn check_event /tr "c:\some.bat" 

其中/mo ..是你想通过你的filter.In通过这个案件涉及到用户reduser(因为这是元素的XPath在你的屏幕截图不是隐藏信息)

with

wevtutil qe Security wevtutil qe security /q:*/EventData/Data[@Name='SubjectUserName']='reduser' 

这里罗列与reduser相关的安全事件以及最后一行将成为最后一个事件。您可以通过在xpath文件管理器中添加系统时间来获得额外的过滤 - 格式始终为YYYY-MM-DDThh:mm:ss.msZ - 或者通过findstr管道。为了获得所需的时间格式,您可以检查this

虽然使用纯批量解析xml行并获取所需内容有点麻烦 - 行太长,您可能需要两个嵌入for循环来解析数据。她e我使用wevtutil获取事件日志数据以获取有关启动过程的信息,因此我想您可以将其用作参考。