How do I enable "Allow this device to wake the computer" programmatically? How do I enable "Allow this device to wake the computer" programmatically? windows windows

How do I enable "Allow this device to wake the computer" programmatically?


I found a solution on The Old New Thing. The powercfg command allows you to manipulate power settings, and in particular you can use the -deviceenablewake and -devicedisablewake to turn on and off the "Allow this device to wake the computer" option.

You can see which devices are capable of doing this with this command:

powercfg -devicequery wake_from_any

You can see which devices have the option currently enabled using:

powercfg -devicequery wake_armed

Putting it all together, this is the batch script I've just started using to enable Wake on LAN:

powercfg -devicequery wake_from_any | findstr /i "network ethernet" >adapters.txtfor /F "tokens=*" %%i in (adapters.txt) do powercfg -deviceenablewake "%%i"powercfg -devicequery wake_armed | findstr /i "network ethernet" || goto :failed

In this case, I've chosen to enable the option on all valid devices whose name contains the word "network" or the word "ethernet"; in some situations, of course, you might prefer to be more selective about which device(s) you enable.