我想知道今晚我工作了多少小時。
因此,在 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
這意味著電腦於當地時間 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 日誌”>“系統”。
- 顯示日誌後,從「操作」功能表中選擇「過濾目前日誌」。
- 將開啟一個新窗口,您可以使用該視窗自訂所選事件日誌中顯示的內容。
- 找到那裡的事件來源並從上下文選單中選擇電源故障排除程序。此清單按字母順序排序,您在選單中尋找篩選項目應該不會有任何問題。
- 所有條目均按級別、日期和時間以及事件 ID 列出。
- 打開在喚醒 PC 的日期和時間上關閉的條目,並檢查那裡列出的喚醒來源。它可能會揭示是什麼喚醒了電腦。
來源如何找出電腦喚醒的原因以及如何停止它 - gHacks 科技新聞
輸出範例: