2012-04-20 30 views
0

我最近發佈了同樣的問題,但沒有回答。現在我將解釋我想要什麼...在Java中捕獲Windows審計失敗事件

有一個審計失敗事件在Windows ID:4625,它是當在Windows登錄屏幕輸入錯誤的密碼時被解僱,我想捕獲在我的Java特定事件應用。我GOOGLE了很多次,但沒有找到任何答案。

我發現了另一種方法,在Windows的事件策略設置中,我搜索審覈失敗事件,而不是手動將任務附加到該事件,因此無論何時發生該事件,計劃任務都會運行我的程序(附加到審計失敗事件)。

我想,我可以在java中捕獲該事件,或者是否有可能在計劃任務中添加條目計劃任務,以便在發生審計失敗事件時運行我的任務。

任何幫助將不勝感激,我在這種情況下爲1年,並沒有找到任何解決辦法..

感謝

+0

相關問題:http://stackoverflow.com/questions/2907640/parsing-windows-event-logs-is-it-possible http://stackoverflow.com/questions/310355/how-do-i-access -windows-event-viewer-log-data-from-java – 2012-04-20 14:53:02

+0

我們已經在SO中提供了一個JNA解決方案:http://stackoverflow.com/questions/9949798/jna-event-log-reader/10015479#10015479而不是「應用程序「,將其更改爲」安全「 – ecle 2012-04-20 14:54:24

回答

0

從我可以告訴,Windows事件日誌是一個文本文件。看起來這是對文件格式的描述:http://msdn.microsoft.com/en-us/library/windows/desktop/bb309026%28v=vs.85%29.aspx

您可以使用現有的Windows庫或工具來完成此操作。例如微軟的Log Parser - http://www.microsoft.com/download/en/details.aspx?id=24659

或者,看起來在純Java中編寫解析器並不困難。要捕獲發生的事件,您可以使用Java編寫文件觀察器,捕獲文件更改通知(請參閱Java 7的FileWatcher類)或「尾部」文件(請參閱Apache共享內容類FileTailer類)。

+0

非常感謝,我正在嘗試,並很快回來,並給予肯定的答覆。 – moonzai 2012-04-21 06:49:11