C# - 从自定义应用程序读取嵌套事件日志

6

我正在使用sysmon来捕获大量的事件信息(网络连接、DLL加载等)。我想提取这些信息并将其用于各种目的,但似乎没有任何方法可以检索嵌套日志。它们位于

Event Viewer/Applications and Services/Microsoft/Windows/Sysmon/Operational

我尝试过的所有代码都只能获取“标准”事件日志。例如:

EventLog[] eventLogs = EventLog.GetEventLogs();

拥有“应用程序”,“硬件事件”,“Internet Explorer”等。

我知道如何创建和检索自定义事件日志,但似乎不适用于此处,因为这些日志不在标准位置。非常感谢您能提供的任何帮助!


1
我建议你看一下 System.Diagnostics.Eventing.Reader 命名空间,它有更丰富的 API 用于获取事件日志。EventLogSession.GetLogNames 返回的日志列表比 EventLog.GetEventLogs 更大。 - Mike Zboray
这正是我正在寻找的。非常感谢 :) 如果您回答,我会标记它。 - adamdabb
1个回答

6

请查看System.Diagnostics.Eventing.Reader命名空间,其中您可以从以下内容中获取完整的日志名称列表:

EventLogSession.GlobalSession.GetLogNames()

这个列表比EventLog.GetEventLogs()要完整得多。此命名空间中其他有用的类包括EventLogReaderEventLogWatcher


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接