我想知道我今晚工作了多少小时。
因此在 cmd 提示符下,我执行以下操作:
systeminfo|find "Time:"
这显示了启动时间。
但是我昨天早上启动了系统。昨晚电脑处于睡眠状态,今天一整天也处于睡眠状态,直到几个小时前我才将它从睡眠状态唤醒。
那么我如何找到它从睡眠状态醒来的时间?
答案1
可以从命令行查询 Windows 事件日志。
此命令将显示最近的电源事件:
wevtutil qe System /rd:true /f:Text /c:1 /q:"<QueryList><Query Id='0' Path='System'><Select Path='System'>*[System[Provider[@Name='Microsoft-Windows-Kernel-Power']]]</Select></Query></QueryList>"
示例输出:
Event[0]:
Log Name: System
Source: Microsoft-Windows-Kernel-Power
Date: 2020-07-30T10:19:27.250
Event ID: 130
Task: N/A
Level: Information
Opcode: Info
Keyword: N/A
User: N/A
User Name: N/A
Computer: DESKTOP-ABCDEFG
Description:
Firmware S3 times. SuspendStart: 766335719, SuspendEnd: 766335719
这日期字段给出事件的本地时间,这将是最后一次电力事件的时间。
Date: 2020-07-30T10:19:27.250
这意味着 PC 于当地时间 2020 年 7 月 30 日 10:19:27 从睡眠状态恢复。
韦夫图利记录在这里:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil
该/rd:true
标志指定返回最近的事件。
该/c
标志指定仅返回一个事件。可以轻松从日志中返回更多事件。例如,要查看最近的三个电源事件,请更改/c:1
为/c:3
。例如,这对于查看系统进入睡眠状态的时间很有用。
查询/q
表达式是一个 XPath 查询。可以通过单击“XML”选项卡从 Windows 事件查看器应用程序中获取它:
请注意,在我的示例中,我将双引号更改为单引号以避免出现 CMD shell 问题。
答案2
使用 PowerShell:
Get-WinEvent -MaxEvents 1 -FilterHashTable @{ProviderName='Microsoft-Windows-Power-Troubleshooter';LogName='System';ID='1'}
将输出类似以下内容的内容:
ProviderName: Microsoft-Windows-Power-Troubleshooter
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
2023/01/26 09:07:14 1 Information The system has returned from a low power state....
答案3
我如何找到它从睡眠状态醒来的时间?
您需要查看系统事件日志,使用事件查看器。
寻找:
Event ID: 1
Source: Microsoft-Windows-Power-Troubleshooter
去做这个:
- 如果您使用的是 Windows 7,请单击开始菜单按钮,输入 cmd,右键单击 cmd.exe 并选择以管理员身份运行。
- 如果您使用的是 Windows 8.x,请使用 Windows-X 显示命令菜单,然后从可用列表中选择命令提示符(管理员)。
- 键入
eventvwr.msc
以启动 Windows 事件查看器。- 从侧栏菜单中选择 Windows 日志 > 系统。
- 一旦显示日志,从操作菜单中选择过滤当前日志。
- 将打开一个新窗口,您可以使用该窗口自定义所选事件日志中显示的内容。
- 在那里找到事件源并从上下文菜单中选择 Power-Troubleshooter。列表按字母顺序排列,您应该不会在菜单中找到过滤项时遇到任何问题。
- 所有条目均按级别、日期和时间以及事件 ID 列出。
- 打开与唤醒 PC 的日期和时间相关的条目,并检查其中的唤醒源列表。它可能会显示唤醒计算机的原因。
来源如何找出你的电脑被唤醒的原因,以及如何阻止它 - gHacks 科技新闻
示例输出: