2012-04-20 68 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