Here is the right way to stop your Windows 10 or 11 PC from waking up randomly from sleep mode…

Step 1:
Open a ‘Command Prompt’ and type the following:
powercfg -lastwake
That will show the last device to wake the PC.
and then type:
powercfg -devicequery wake_armed
This will give you a list of devices that are allowed to wake your system.
Sometimes it wall say things like ‘PCI to PCI Bridge’

Step 2:
Open a Run box (Windows Logo Key + R) or continue in Command Prompt
Type: systempropertiesadvanced
Under ‘Advanced’ tab (possibly already selected).
Look in ‘Start-up and Recovery’ block at the bottom.
Click ‘Settings’ – then look under ‘System failure’ block mid way down.
Untick ‘Automatically restart’ under system failure and then click ‘OK’

Step 3:
Open a Run box (Windows Logo Key + R) or continue in Command Prompt
Type: taskschd.msc
Highlight the ‘Task Scheduler Library’ on the left side.
Now sort and look through the tasks that are set to either run or due to run at unusual hours.
You can then right click the entry and choose ‘Disable’ or ‘Properties’ to go into the ‘Conditions’ tab to disable ‘Wake the computer to run this task’
On Windows 10 you also need to look on the left side for ‘UpdateOrchestrator’ and disable ‘Reboot’ from the main listing.

Step 4:
Open ‘Device Manager’ from Control Panel or by typing into the Windows Start Button
Find the devices in the device manager (usually a network card) and right click the properties tab.
Now click ‘Power Management’ and Uncheck – ‘Allow this device to wake the computer’
If the problem is a USB device – then check under USB controllers and Nvidia USB C Properties to disable the wake this computer option.
If its the keyboard – open Keyboards section and change the power settings in properties.
Complex issues.. Trace the device in ‘Details’ tab in device manager and choose the ‘Hardware Ids’ property listing.

If your problem device is a Network Card then you should also disable – ‘Wake on Pattern Match’
This can be found in their ‘Power Management’ or ‘Advanced’ list – usually at least half way down.

Step 5:
Disable Fast Startup from the Control Panel (Large Icons) – Power Options
On the left side select – ‘Choose what the power buttons do’
Click ‘Change settings that are currently unavailable’
In this section untick the ‘Turn on fast startup (recommended)’
Now go back to ‘Power Options’
Click ‘Change plan settings’
Now ‘Change advanced power settings’
In ‘Advanced settings’ tab and then ‘Sleep’ option – Choose disable in ‘Allow wake timers’

Step 6:
Open Control Panel in view by ‘Category’ choose ‘System and Security’
Now select ‘Security and Maintenance’
Click ‘Maintenance’ and then ‘Change maintenance settings’ in blue.
Now untick the ‘Allow scheduled maintenance to wake up my computer at the scheduled time’


Additional Information:
If your Windows 10 system turns the ‘Reboot’ task back on – do the following:

  1. Open an elevated command prompt with a tap on the Windows-key, typing cmd.exe, holding down Shift and Ctrl-keys, and hitting enter.
  2. Run the following command: takeown /f C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot
  3. Open File Explorer and go to C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator
  4. Locate the file called reboot there (it has no file extension), right-click on it, and select Properties.
  5. Switch to the security tab.
  6. Select the “System” account, and remove its write access to the file.

Full list of PowerCfg commands:

powercfg -a displays a list of available sleep states of the computer.
powercfg -devicequery wake_armed lists all devices that can wake the computer
powercfg -devicequery wake_programmable lists all devices that can be programmed to wake up the PC.
powercfg -devicedisablewake “exact device name” disables the wake functionality of the selected device.
powercfg -deviceenablewake “exact device name” will enable that device again.
powercfg -lastwake displays the last device that woke up the PC.
powercfg -waketimers lists all active wake timers.

Powershell command:

Get-ScheduledTask | where {$_.settings.waketorun} lists all tasks and their state in regards to wake operations.



Similar Posts

Leave a Reply