Troubleshooting unplanned Windows automatic wake-ups

By | July 17, 2017

Whenever I finish working with my computer, I never power it off. Instead I send the computer into sleep or hibernate mode. This saves lots of time when starting the computer – I can easily continue working without loading all the projects. However I discovered that recently my Windows 10 laptop started to wake up unexpectedly.  Such unplanned wake-ups can really damage the computer, e.g. when left on a sofa, air vents can be blocked, which can lead to laptop overheating.

First, I thought that it’s a Windows automatic maintenance issue and I should look into it. Let’s check it out.

Open Windows Control Panel, Security and Maintenance, Maintenance:

Automatic-Maintenance

Well, it looks like Windows started scheduled maintenance at night and that was the reason for the issue. Click Change maintenance settings.

Schedule-Maintenance-Settings

That’s quite strange. The scheduled time is different from the last run time and wake-up option is not ticked (if this option is ticked on your computer, untick it or change the maintenance time).

So, we need to investigate the problem deeper and check event logs. Start Event Log Explorer and open System log on a local computer. We can set filter by Microsoft-Windows-Kernel-Power, event id = 107 to get resume from sleep events, but this is not a very good way. The event time is almost equal to the sleep time because Windows hasn’t synchronized its clock with the hardware clock yet. We can get the hardware (real) time from XML details of this event (ProgrammedWakeTimeAc or ProgrammedWakeTimeDc), but it’s written in UTC format, so you should convert it into your local time.

Fortunately, there is a better way to get sleep/wake-up details. Set filter by Source = Microsoft-Windows-Power-Troubleshooter.

Microsoft-Windows-Power-Troubleshooter-FIlter

Now we can see sleep/resume events in the list. And we found our event and the reason for waking up. It is NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot scheduled task.

Power-events-filtered

Let’s find this task.

Run Windows Task Scheduler.

In the left pane browse for Task Scheduler Library\Microsoft\Windows\UpdateOrchestrator

Double click on Reboot in the right pane.

Switch to Condition tab and disable Wake the computer to run the task.

UpdateOrchestrator-Reboot-NoWakeup

That’s it.  Now the computer won’t wake up unexpectedly.

UPDATE

After several days, the problem came back. It appears that Windows modifies Reboot task on its own and enables Wake option. I found some discussions about this issue on Microsoft’s forums, but didn’t get a reasonable solution.

So, I created my own solution: UpdateOrchestrator\Reboot fix.

It’s a tiny program which disables Wake option for Update Orchestrator\Reboot task. When you run it, it checks if this option enabled. If so, it switches it off. You should run it elevated or it will fail to update the task.

To run in on regular basis, just create a new task in Task Scheduler. I scheduled to run it 3 times a day and hope that it’s more than enough.

FixUpdateOrchestrator

Don’t forget that the program must be run elevated. I scheduled to run it from SYSTEM account:

FixUpdateOrch-SYSTEM

The program is available at http://eventlogxp.com/download/utils/UpdateOrchFix.exe and free for any usage.

facebooktwittergoogle_plusredditpinterestlinkedinmail