查询、导出和清理 Windows 事件日志的命令行工具。
wevtutil 可枚举日志通道、按 XPath 查询事件、导出 .evtx、清空日志,以及查看/修改日志大小与保留策略。它适合 CMD 批处理和取证前的日志留存。
读取普通日志通常只需相应权限;读取或清空 Security 日志需要管理员权限,且清空操作本身会生成审计事件。远程操作使用 /r:,需要目标主机开放相应 RPC/防火墙规则。
Windows Server 2016+ 与 Windows 10/11 均可用。PowerShell 的 Get-WinEvent 在结构化过滤和对象输出上更强,但 wevtutil epl 导出原始 evtx 仍然方便。
# 列出所有事件日志通道名称
C:\> wevtutil el
# 查看 System 日志最近 20 条,倒序输出为文本
C:\> wevtutil qe System /c:20 /rd:true /f:text
# 按 XPath 查询最近的登录失败事件
C:\> wevtutil qe Security /q:"*[System[(EventID=4625)]]" /c:10 /rd:true /f:text
# 导出 Security 日志为 evtx,便于离线分析或留证
C:\> wevtutil epl Security C:\Temp\Security.evtx /ow
# 查看日志配置:最大大小、保留方式和启用状态
C:\> wevtutil gl Security
# 影响范围:永久清空指定日志,历史事件无法恢复,并会触发“日志已清除”审计事件
# 备份/回滚:清空前务必用 wevtutil epl 导出 evtx;清空本身不可回滚
C:\> wevtutil cl Application
qe 查询报语法错误 → XPath 未用双引号包住,或缺少开头的 * → 写成 /q:"*[System[(EventID=4625)]]",在 CMD 中注意引号嵌套。el 列出的日志无法查询 → 部分分析/调试通道默认禁用 → 先 wevtutil sl <通道> /e:true 启用,再查询。Get-WinEvent -Path 读取 → 不要用文本编辑器判断完整性。wevtutil gl 查看,再用 wevtutil sl <日志> /ms:<字节> 调整。schtasks — 定期导出日志可做成计划任务findstr — 对文本查询结果做二次筛选journalctl — Linux 侧日志查询对照type — 查看导出的文本结果wevtutil epl 导出的文件应该用什么打开?wevtutil epl 导出留证;清空会产生事件 1102,且历史数据不可恢复。Get-WinEvent -Path 读取原始 .evtx,不要用文本编辑器。
小程序版
微信扫码,随时查命令