我希望使用pywin32
-> win32evtlog
阅读“应用程序和服务日志”下的一些事件日志。
我可以读取属于“系统”,“应用程序”,“安全”和其他标准日志的事件日志。但是当我尝试从“ Microsoft-Windows-TWinUI / Operational”中读取一些日志时,我将获得“ Application”的日志。
根据MSDN,获取“应用程序”日志而不是所需日志的问题是因为找不到自定义日志。
我试图使用类似提供的答案here,但似乎无法在python中完成。
import win32evtlog
handle = win32evtlog.OpenEventLog(None, "Microsoft-Windows-TWinUI/Operational")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ | win32evtlog.EVENTLOG_SEQUENTIAL_READ
if events:
for event in events:
print(event.StringInserts)
我更喜欢使用pywin32,但这不是必须的,我可以使用其他软件包。
我知道我来晚了,但万一其他人对此感到疑惑...
使用库中较新的Evt *函数。您可以通过使用EvtQuery-> EvtNext-> EvtRender从任何日志中访问事件元数据的xml,如本GitHub帖子的答案中所述:https://github.com/mhammond/pywin32/issues/676
P.S。模块win32evtlog的较旧函数(如OpenEventLog)返回的句柄与较新的Evt *函数不兼容,反之亦然。因此,为了理智起见,请避免将它们混合使用! :)