事件与日志

返回 Windows

Windows 事件查看器(eventvwr)、日志类型、常见排查路径,以及 wevtutil / PowerShell 查询方式。


打开事件查看器

eventvwr.msc
eventvwr

或:Win+X → 事件查看器;计算机管理 → 系统工具 → 事件查看器。


日志结构

日志说明
Windows 日志 → 应用程序应用与组件(含 .NET、安装程序)
Windows 日志 → 安全登录、权限、审核(需启用审核策略)
Windows 日志 → 系统驱动、服务、磁盘、内核相关
Windows 日志 → 安装可选组件与更新安装
应用程序和服务日志各组件自定义通道(如 Microsoft-Windows-*)

级别

级别含义
关键1系统严重故障
错误2操作失败
警告3潜在问题
信息4正常记录
详细5调试级(默认少见)

GUI 排查习惯

  1. 系统 / 应用程序 日志 → 筛选「错误」「关键」,按时间排序
  2. 双击事件 → 查看常规说明与详细信息(常含错误码 0x...、源 Source、事件 ID)
  3. 右键事件 → 复制 → 粘贴到工单或搜索
  4. 筛选当前日志:按事件 ID、来源、用户、时间范围
  5. 蓝屏后查看:Windows 日志 → 系统,来源 Microsoft-Windows-WER-SystemErrorReporting 或 BugCheck 相关项;转储文件在 C:\Windows\Minidump

常用事件 ID(参考)

ID常见含义
41内核未正常关机后重启(意外断电/蓝屏)
6008异常关机
1074计划/用户发起的关机/重启
4624登录成功(安全日志)
4625登录失败
7036服务进入运行/停止状态

wevtutil(命令行)

wevtutil el                              :: 列出所有日志名
wevtutil gli System                        :: 日志信息
wevtutil qe System /c:10 /rd:true /f:text  :: 最近 10 条,文本格式
wevtutil qe Application /q:"*[System[(Level=2)]]" /c:20 /f:text  :: 错误级
wevtutil cl Application                    :: 清除应用程序日志(慎用)

导出日志:

wevtutil epl System C:\temp\system.evtx

PowerShell

# 经典 API(部分系统仍可用)
Get-EventLog -LogName System -EntryType Error -Newest 20
 
# 推荐:Get-WinEvent
Get-WinEvent -LogName System -MaxEvents 50
 
Get-WinEvent -FilterHashtable @{
    LogName   = 'System'
    Level     = 2,3          # 2=Error, 3=Warning
    StartTime = (Get-Date).AddDays(-1)
}
 
# 按 Provider 筛选
Get-WinEvent -LogName Application -ProviderName "Microsoft-Windows-Search" -MaxEvents 30
 
# 解析消息(部分事件需额外格式化)
$e = Get-WinEvent -LogName System -MaxEvents 1
$e | Format-List TimeCreated, Id, LevelDisplayName, ProviderName, Message

订阅与转发(域/运维场景):事件查看器 → 订阅、WEF(Windows Event Forwarding)。


性能与诊断

工具命令用途
性能监视器perfmon计数器、数据收集器集
资源监视器resmonCPU/内存/磁盘/网络实时
可靠性监视器perfmon /rel应用崩溃与稳定性时间线
内存诊断mdsched.exe重启后内存检测

进程与线程 中的 Process Explorer、任务管理器配合使用。


服务与计划任务日志

  • 服务启动失败:先查 系统 日志,再结合 services.msc / sc query服务与任务
  • 计划任务失败:应用程序和服务日志 → Microsoft → Windows → TaskScheduler,或任务计划程序 GUI 中任务历史
(Get-ScheduledTaskInfo -TaskName "MyBackup").LastTaskResult   # 0 通常表示成功

相关文档