Я хочу знать, сколько часов я сегодня проработал.
Итак, в командной строке 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
TheДатаполе указывает местное время события, которое будет временем последнего события питания.
Date: 2020-07-30T10:19:27.250
Это означает, что ПК вышел из спящего режима в 10:19:27 по местному времени 30 июля 2020 года.
wevtutilзадокументировано здесь:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil
Флаг /rd:true
указывает на необходимость возврата самых последних событий.
Флаг /c
указывает на возврат только одного события. Из журнала можно легко вернуть больше событий. Например, чтобы увидеть три последних события питания, измените /c:1
на /c:3
. Это может быть полезно, например, для просмотра времени перехода системы в спящий режим.
Выражение запроса /q
— это запрос XPath. Его можно получить из приложения Windows Event Viewer, щелкнув на вкладке XML:
Обратите внимание, что в моем примере я заменил двойные кавычки на одинарные, чтобы избежать проблем с оболочкой CMD.
решение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 из контекстного меню. Список отсортирован в алфавитном порядке, и у вас не должно возникнуть проблем с поиском элемента фильтра в меню.
- Все записи отсортированы по уровню, дате и времени, а также идентификатору события.
- Откройте записи, закрытые по дате и времени пробуждения ПК, и проверьте наличие там списка Источник пробуждения. Это может показать, что разбудило компьютер.
ИсточникКак узнать, почему ваш ПК просыпается, и как это остановить - gHacks Tech News
Пример вывода: