Есть ли способ определить, была ли моя система запущена вручную нажатием кнопки питания или она запускалась из-за пакета Wake-On-LAN?Могу ли я хранить это значение где-нибудь и использовать его программно?
1 ответ
В Windows источник пробуждения регистрируется в системном журнале. Я не уверен, регистрирует ли он ваш WOL-пакет как источник, но вам придется попробовать самим, так как существуют разные системы, поэтому описанный ниже метод не является надежным. (Я надеюсь, что все английские термины правильно переведены, так как я использую голландскую копию Windows. Поэтому, если вы не можете найти что-то, ищите что-нибудь похожее! ;-))
Руководство, человеческий путь:
- Найдите системный журнал, открыв диалоговое окно запуска, нажав Win + r. Введите eventvwr.msc и затем запустите.
- Слева откройте Журналы Windows, а затем Система.
- Щелкните правой кнопкой мыши System и выберите Filter Current Log ...
- В появившемся диалоговом окне в разделе « Источники событий» выберите « Устранение неполадок с питанием» и нажмите « ОК».
Теперь он должен перечислить все записи, связанные с питанием. Если вы щелкнете один из них, на вкладке Общие также должен быть указан источник Wake.
Пример через PowerShell:
Системные журналы могут быть доступны через PowerShell. Приведенная ниже команда на PowerShell вернет последнюю запись в журнале о питании, содержащую "Wake Source". Приспособьте это к своим потребностям. (Regex этот материал!)
Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List