Windows事件管理器相当于android和linux上的日志文件但又功能强大很多,能够配合计划任务的事件侦听触发器。
事件管理先是有类别和提供者,任意程序能通过Api向事件管理器中写入事件。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
可以看到有一些大的类别。
然后类别下面又有不少子项,每一个子项都是一个事件源。
image.png事件记录保存到磁盘上的%SystemRoot%\system32\winevt\Logs\
目录中,比如:
Application.evtx
、Security.evtx
、System.evtx
。
事件源
事件源是记录事件的软件的名称。 最多可以向注册表添加 16,384 个事件源。
安全日志仅供系统使用。 设备驱动程序应将其名称添加到 系统 日志。 应用程序和服务应将其名称添加到 应用程序 日志或创建自定义日志。
可以看到事件类别和事件.
Api
有两套Api,一套是支持Xp的 OpenEventLog,一套是vista下才有的EvtOpenLog。
EvtOpenLog的一大特色就是通过Channel来访问,使用Query语法来过滤自己想要查询的事件。但Query语法文档很少,可以在事件管理器自定义视图中添加条件然后查看它的自定义视图属性中的XML页签。
<QueryList><Query Path='Application'><Select>Event/Application[EventID=4]</Select></Query></QueryList>
<QueryList><Query Id="0" Path='Application'><Select Path='Application'>*[System[Provider[@Name='Application Error']]]</Select></Query></QueryList>
网友评论