2015-10-08 36 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獲取事件日誌數據以獲取有關啓動過程的信息,因此我想您可以將其用作參考。