您好,欢迎来到贵阳! 请登录 免费注册
店基本信息

认证信息: 签约信息:
所属区域:
贵阳_
D话:
118114
0人点评 好评100% 人气562人次
服务:
5.0分
品质:
5.0分
性价比:
5.0分
店铺展示
店铺类别

▍Windows

除了 macOS,Windows 系统日志同样可以在时间查看器中查看并进行筛选,但考虑界面相对「复古」且用于筛选的 UI 选项更为复杂,因此我也更推荐大家使用命令行工具获取和筛选日志。

49323fad04184c11b5faf410d6ec36aenoop.image_


有的时候用 UI 界面反而会让一件事情变得更复杂

如果你的 PC 电脑近期出现了意外重启等问题,不妨跟着下面的步骤试一试:

# 命令 1Get-Eventlog -LogName System -Source “User32″ | group EventID# 命令 2Get-EventLog -LogName System -Source ”
Microsoft-Windows-Kernel-Power” | Where-Object { $_.EventID -eq 41 }

Get-EventLog 是 Windows 中获取日志的命令,-LogName System 则限定了查找由系统生成的命令。-Source 则是来源,User32 和
Microsoft-Windows-Kernel-Power 则是两个不同的来源。

从用户或程序层面进行分析

User32 是一个 Windows 系统应用程序源,它包含了许多与用户界面相关的函数,如窗口创建、消息处理、控件操作等等;它还会负责处理用户交互方面的任务,例如鼠标、键盘输入和窗口管理等。

因此由用户或是程序发起的事件,如登录、注销、锁定或解锁计算机等,都可以通过 User32 来源来定位。而后 | 用于进一步处理 Get-EventLog 得到的数据,这里按照 EventID 事件 ID 来group 成组。

0a9a02711ef94cac809ccae16a6ad5e7noop.image_


目前我电脑中只有 1074 这个事件,这个 1074 事件是计算机的正常关机的主要表现形式。如果 User32 有其他的 EventID 那么用下面的命令进一步分析:

# 本例中依然用 1074 做分析 Get-Eventlog -LogName System -Source “User32”-Newest 1 | Where-Object { $_.EventID -eq 1074} | fl *

前面的命令就不再赘述了,-Newest 1 表示选取最近的一个日志, | 用于进一步筛选 Get-EventLog 得到的数据。Where-Object 表示筛选一个对象数组,$_ 表示当前处理的对象(也就是 | 传递过来的数据 ),.EventID 表示对象的 EventID 属性,-eq 是一个比较运算符,表示等于,这里等于的 1074 这个事件。| 依然是用于进一步处理 Where-Object 得到的数据,由 fl(也可以用完整写法 Format-List 替代)格式化输出对象的 * 所有属性。

b36bd65b64594df38efa230752737f89noop.image_


找到其中的Reason Code: 0x80020010可以得知这是一个计划内的关机请求,如果不是服务器的话,这一般由 Windows Update 自动更新发起;而由用户发起的关机则会被标识为 0x0。以下是常见的 Reason Code 所表示的含义:

d0a0ac96f19341bc8ae35ba4e1b2a56cnoop.image_


蓝屏问题导致关机或重启,还可以进一步下方的命令进行分析。

.