日志通道是什么
Windows 把事件按“通道(Channel/Log)”分区存放:Windows 日志下是 System、Application、Security、Setup 这类通用通道,应用程序和服务日志下是各组件自带的 Operational、Analytical、Debug 通道。通道名就是查询时的唯一标识,写成 Microsoft-Windows-XXX/Operational 这种带斜杠的完整路径,脚本里最怕抄错一个连字符。
基本信息
| 查询入口 | Get-WinEvent -LogName <通道>;事件查看器左侧树 |
|---|---|
| 通道清单 | Get-WinEvent -ListLog * | Select-Object LogName, IsEnabled, RecordCount |
| 启用状态 | 组件通道默认多为关闭,需 wevtutil sl <通道> /e:true 打开 |
| 权限 | Security 通道需管理员或“管理审核和安全日志”权限 |
常用通道速查
| 通道名 | 记录什么 | 什么时候看 |
|---|---|---|
| System / Application | 通用系统与应用程序事件 | 任何异常的第一站 |
| Security | 登录、账户变更、对象访问等审核 | 账号与权限类问题 |
| Windows PowerShell | 脚本块与命令执行记录 | 谁在什么时候跑了什么脚本 |
| Microsoft-Windows-GroupPolicy/Operational | 策略处理与失败原因 | 策略不生效时逐条核对 |
| Microsoft-Windows-TaskScheduler/Operational | 计划任务启动、失败与结果码 | 计划任务静默失败 |
| Microsoft-Windows-WindowsUpdateClient/Operational | 更新下载、安装与失败码 | 补丁不装或反复重启 |
| Setup / Microsoft-Windows-Servicing | 补丁与组件安装过程 | 系统更新报错、回滚 |
典型使用场景
- 排查“服务器半夜重启”:先 System 看内核电源与 WHEA 事件,再对 Setup 通道看是否装了补丁
- 策略不生效:GroupPolicy/Operational 通道会直接写明哪个扩展被拒或哪条策略处理失败
- 脚本类安全问题:Windows PowerShell 通道能还原脚本块内容与调用者
- 补丁合规核对:WindowsUpdateClient 与 Setup 两条通道配合,区分“没下发”和“装失败”
- 批量导出留档:用 Get-WinEvent 按通道批量导出 evtx,避免逐台手工翻
常用示例
常用示例
# 找 PowerShell 相关通道并看是否启用
Get-WinEvent -ListLog *PowerShell* | Select-Object LogName, IsEnabled, RecordCount
# 看计划任务最近 10 条执行记录
Get-WinEvent -LogName 'Microsoft-Windows-TaskScheduler/Operational' -MaxEvents 10
# 看更新客户端记录
Get-WinEvent -LogName 'Microsoft-Windows-WindowsUpdateClient/Operational' -MaxEvents 10
# 按通道导出留档(取证/归档)
wevtutil epl Security D:\evidence\Security.evtx组件通道默认多未启用,且轮转很快。排查前先启用、再复现,避免“启用后翻不到历史”的尴尬;启用分析类通道会增加性能开销,排障完要关掉。
通道名区分大小写不受影响,但连字符与斜杠不能省。写脚本前先探测通道是否存在(Get-WinEvent -ListLog 名称 -ErrorAction SilentlyContinue),不同 Windows 版本带的通道并不一致。