Есть ли способ определить, была ли моя система запущена вручную нажатием кнопки питания или она запускалась из-за пакета Wake-On-LAN?Могу ли я хранить это значение где-нибудь и использовать его программно?

1 ответ1

0

В Windows источник пробуждения регистрируется в системном журнале. Я не уверен, регистрирует ли он ваш WOL-пакет как источник, но вам придется попробовать самим, так как существуют разные системы, поэтому описанный ниже метод не является надежным. (Я надеюсь, что все английские термины правильно переведены, так как я использую голландскую копию Windows. Поэтому, если вы не можете найти что-то, ищите что-нибудь похожее! ;-))


Руководство, человеческий путь:

  1. Найдите системный журнал, открыв диалоговое окно запуска, нажав Win + r. Введите eventvwr.msc и затем запустите.
  2. Слева откройте Журналы Windows, а затем Система.
  3. Щелкните правой кнопкой мыши System и выберите Filter Current Log ...
  4. В появившемся диалоговом окне в разделе « Источники событий» выберите « Устранение неполадок с питанием» и нажмите « ОК».

Теперь он должен перечислить все записи, связанные с питанием. Если вы щелкнете один из них, на вкладке Общие также должен быть указан источник Wake.


Пример через PowerShell:

Системные журналы могут быть доступны через PowerShell. Приведенная ниже команда на PowerShell вернет последнюю запись в журнале о питании, содержащую "Wake Source". Приспособьте это к своим потребностям. (Regex этот материал!)

Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .