系统日志查看

wevtutil 命令

描述:Windows 事件命令行实用程序,用于检索有关事件日志和发布者的信息,安装和卸载事件清单,运行查询以及导出、存档和清除日志。

基础语法:

wevtutil COMMAND [ARGUMENT [ARGUMENT] ...] [/OPTION:VALUE [/OPT]
wevtutil COMMAND /? #二级命令帮助

#命令参数:
el | enum-logs 列出日志名称。
gl | get-log 获取日志配置信息。
sl | set-log 修改日志配置,为应用程序日志设置保留、自动备份和日志大小上限。(之后输出XML)
ep | enum-publishers 列出事件发布者。
gp | get-publisher 获取发布者配置信息。
/{ge | getevents}:[true|false] #获取此发布者可能引发的事件的元数据信息。
/{gm | getmessage}:[true|false] #显示实际消息,而不是数字消息 ID。
/{f | format}:[XML|Text] #指定日志文件格式。默认值为 Text。如果指定 XML,则使用 XML 格式打印输出。如果指定 Text,则不使用 XML 标记打印输出。

im | install-manifest 从清单中安装事件发布者和日志。
/resourceFilePath)形式的选项名称。 #选项及其值不区分大小写。
/{rf | resourceFilePath}:VALUE #要替换的清单中的提供程序元素的 ResourceFileName 属性。 #VALUE 应该是资源文件的完整路径。
/{mf | messageFilePath}:VALUE #要替换的清单中的提供程序元素的 MessageFileName 属性。VALUE 应该是消息文件的完整路径。
/{pf | parameterFilePath}:VALUE #要替换的清单中的提供程序元素的 ParameterFileName 属性。VALUE 应该是参数文件的完整路径。

um | uninstall-manifest 从清单中卸载事件发布者和日志。
qe | query-events 从日志或日志文件中查询事件。
* /{rd | reversedirection}:[true|false] #事件读取方向。如果为 true,则先返回最近的事件。
* /{lf | logfile}:[true|false] #如果为 true,则 <PATH> 是日志文件的完整路径。
* /{sq | structuredquery}:[true|false] # 如果为 true,则 <PATH> 是包含结构化查询的文件的完整路径。
* /{q | query}:VALUE # VALUE 是用于筛选读取的事件的 XPath 查询。如果未指定,则返回所有事件。如果 /sq 为 true,则不能使用此选项。
* /{bm | bookmark}:VALUE # VALUE 是包含上一查询的书签的文件的完整路径。
* /{sbm | savebookmark}:VALUE #VALUE 是用于保存此查询的书签的文件的完整路径。文件扩展名应为 .xml。
* /{f | format}:[XML|Text|RenderedXml] #默认值为 XML。如果指定 Text,则使用易于读取的文本格式打印事件,而不是使用 XML 格式。
* #如果指定 RenderedXml,则使用 XML 格式打印事件并包含呈现信息,使用 Text 或 RenderedXml 格式打印事件,比使用 XML 格式打印慢。
* /{l | locale}:VALUE # VALUE 是以特定区域设置打印事件文本的区域设置字符串。只有在使用 /f 选项以文本格式打印事件时,才能使用该字符串。
* /{c | count}:<n> # 要读取的最大事件数。ve
* /{e | element}:VALUE #在输出事件 XML 时,包含一个根元素以生成正确格式的 XML。VALUE 是要包含在根元素中的字符串。例如指定 /e:root 将导致使用根元素对 <root></root> 输出 XML。

gli | get-log-info 获取日志状态信息。
epl | export-log 导出日志。
al | archive-log 存档导出的日志。
cl | clear-log 清除日志。

#常用选项:
/{r | remote}:VALUE #如果指定,则在远程计算机上运行该命令。VALUE 是远程计算机名称。
/im 和 /um #选项不支持远程操作。
/{u | username}:VALUE #指定一个不同的用户以登录到远程计算机。VALUE 是 domain\user 或 user 形式的用户名。只有在指定 /r 选项时
/{p | password}:VALUE #指定的用户密码。如果未指定,或者 VALUE 为 "*",则会提示用户输入密码。只有在指定 /u 选项时才适用。
/{a | authentication}:[Default|Negotiate|Kerberos|NTLM] #用于连接到远程计算机的身份验证类型。默认值为 Negotiate。
/{uni | unicode}:[true|false] #使用 Unicode 显示输出。如果为 true,则使用 Unicode 显示输出。

实际案例:

#Step0 基础操作
wevtutil el #列出日志名称 Application / System / Secuirty
wevtutil ep #列出当前计算机上的事件发布者(效果同上)
wevtutil gl 日志名称 #获取日志配置信息。

#Step1 查询所有登录、注销相关的日志语法:(需查看Windows常见安全事件日志ID汇总)
wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 4627]" /r:computer /u:user /p:password #rd读取最近的记录
wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4672]" /r:dc1

#Step2 清空SECURITY/ SYSTEM /APPLICATION 日志
wevtutil cl security
wevtutil cl system
wevtutil cl application

WeiyiGeek.

#3.使用文本格式显示应用程序日志中的三个最近的事件。
wevtutil qe Application /c:3 /rd:true /f:text

#4.系统关闭和开启时间记录(注意/q需要采用XPATH路径)
wevtutil qe System /c:3 /rd:true /f:text /q:"*[System/EventID=12]" #开机
wevtutil qe System /c:3 /rd:true /f:text /q:"*[System/EventID=13]" #注意时间Date与操作系统时间关键有8个小时视差


#5.以下示例使用 XML 格式显示有关本地系统日志的配置信息。
wevtutil gl System /f:xml
wevtutil gl System /f:Text

#6.进行日志记录设置
wevtutil sl Application /fm:16 /l:10 /k:"102400"
# 无法保存配置或激活日志 Application。
# 拒绝访问。

WeiyiGeek.

#7.显示EventID信息以及配置信息
wevtutil gp Application /ge:true /gm:true
# name: Application
# guid: 00000000-0000-0000-0000-000000000000
# helpLink:
# message:
# channels:
# channel:
# name: Application
# id: 9
# flags: 1
# message:
# levels:
# opcodes:
# tasks:
# task:
# name: 设备
# value: 1
# eventGUID: 00000000-0000-0000-0000-000000000000
# message: 设备
wevtutil gp Microsoft-Windows-Eventlog /ge:true /gm:true #以此来收集错误信息

#8.以下示例从 myManifest.man 清单文件中安装发布者和日志。
wevtutil im myManifest.man /rf:^%systemroot^%/System32/wevtutil.exe

WeiyiGeek.


#9.查看日志的大小及其建立信息
C:\Windows\system32>wevtutil gli System
# creationTime: 2019-07-04T05:23:47.559Z
# lastAccessTime: 2019-11-14T11:01:22.928Z
# lastWriteTime: 2019-11-14T11:01:22.928Z
# fileSize: 69632
# attributes: 32
# numberOfLogRecords: 2
# oldestRecordNumber: 1


#10.日志导出以下示例将系统日志中的事件导出到C:\backup\system0506.evtx。
wevtutil epl System C:\backup\system0506.evtx

#11.要存档的日志文件。可以使用 export-log 或 clear-log 命令生成日志文件。
wevtutil el C:\backup\system0506.evtx