Как включить "Разрешить этому устройству пробуждать компьютер" программно?
на некоторых компьютерах сетевые адаптеры по умолчанию настроены с выключенной опцией "разрешить этому устройству разбудить компьютер". В результате Wake on LAN не будет работать.
Мне нужно снова включить эту опцию, но я не могу сделать это вручную-слишком много компьютеров! Итак, мне нужно иметь возможность сделать это через API или со скриптом.
(Примечание: это не дубликат как включить Wake On LAN программно потому что этот вопрос касается BIOS настройка, в то время как это касается настройки операционной системы.)
У меня есть ответ, уже использующий пакетный скрипт, но альтернативные решения будут очень приветствоваться, особенно если они используют API.
1 ответов
Я нашел решение на Старая Новая Вещь. The powercfg
команда позволяет управлять настройками питания, и в частности вы можете использовать -deviceenablewake
и -devicedisablewake
для включения и выключения опции "Разрешить этому устройству разбудить компьютер".
вы можете увидеть, какие устройства способны сделать это с помощью этой команды:
powercfg -devicequery wake_from_any
вы можете увидеть, какие устройства имеют возможность в настоящее время включен через:
powercfg -devicequery wake_armed
складывая все это вместе, это пакетный скрипт, который я только что начал использовать для включения Wake on LAN:
powercfg -devicequery wake_from_any | findstr /i "network ethernet" >adapters.txt
for /F "tokens=*" %%i in (adapters.txt) do powercfg -deviceenablewake "%%i"
powercfg -devicequery wake_armed | findstr /i "network ethernet" || goto :failed
в этом случае я решил включить опцию на всех допустимых устройствах, имя которых содержит слово "сеть" или слово "ethernet"; в некоторых ситуациях, конечно, вы можете предпочесть быть более избирательным о том, какие устройства вы включаете.