由于错误码的种类繁多,因此这里不太可能一一列举。另外还需要注意的是,同一个错误可能会有不同的原因而导致,排查时可以从近期的软件改动入手去寻找电脑意外关机的原因,排查完软件以后才是排查硬件的真正时机。
关于 Powershell 7 使用中的一些细节值得注意的是,Get-EventLog 只能使用 Windows 内的 Powershell 运行;Powershell 7 中因为相关 API 已被弃用,会提示无效指令,因此需要换用Get-WinEvent命令:
#命令 1Get-WinEvent -ProviderName 'User32' | group EventID#命令 2Get-WinEvent -ProviderName "Microsoft-Windows-Kernel-Power" | Where-Object { $_.EventID -eq 41}#命令 2 改进版Get-WinEvent -FilterHashtable @{ProviderName = "Microsoft-Windows-Kernel-Power"; Id = 41}
Get-WinEvent 是 Powershell 7 中获取 Windows 日志的新命令,不同于此前的 Get-EventLog 能同时筛选具体的事件日志 -LogName 和事件源 -Source;Get-WinEvent在使用时只能在筛选事件日志 -Logname 和事件源 -ProviderName 中二选一。Get-WinEvent 还 可以使用一个新的写法 -FilterHashtable,降低命令长度的同时提高索引效率。