Windows 10移行相談室

Windows 10にしたら夜中のスリープ復帰が増えた!

多岐にわたるスリープ解除のトリガーを無効化する方法

 Windows 10への無償アップグレード期間も残すところあと1カ月ほど。すでに、Windows 10に移行した読者も多いのではないだろうか。しかし、Windows 10にしてみたものの、Windows 7/8.1では何気なくできた“アレ”ができないといったことがあるかもしれない。本連載では、Windows 10に移行した際に発生しがちなトラブルの解決方法をお伝えする。

Windows 10は夜中、勝手に起動する?

 以前からMicrosoftは、PCを使っていない時間帯に更新プログラムの適用や、メンテナンスを行うコンセプトでWindowsを設計・開発してきた。それはWindows 10も変わらない。だが、スリープ復帰時にケースファンやCPUファンなどが爆音を上げるようなPC環境の場合、安眠を妨げられるとお悩みの方もおられるだろう。

 意図しないタイミングでスリープから復帰する問題はWindows 10固有の問題ではないものの、スリープ解除のトリガーは多岐にわたる。お悩みの方は以下に列挙したポイントを確認してみよう。

コントロールパネルの「セキュリティとメンテナンス」を起動し、[自動メンテナンス]セクションの[メンテナンス設定の変更]をクリック、[スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する]のチェックを外して[OK]ボタンをクリックする
「デバイスマネージャー」からNICのプロパティダイアログを開き、[電源の管理]タブにある[このデバイスで、コンピューターのスタンバイ状態を解除できるようにする]のチェックを外し、[OK]ボタンをクリックする
管理者権限でコマンド プロンプトを起動し、“powercfg /WakeTimers”と入力して実行。スリープを解除するタイマー(サービス)がないか確認する
管理者権限でコマンド プロンプトを起動し、“powercfg /DeviceQuery wake_armed”と入力して実行。スリープを解除できるデバイスを確認する(図ではNICが列挙されているが、前述のプロパティダイアログ設定を行うと削除される)
現在選択中の電源プランを開き[詳細な電源設定の変更]をクリック。[スリープ解除タイマーの許可]の設定を[無効]に変更して、[OK]ボタンをクリックする

 たとえば管理者権限で起動したコマンド プロンプトで“powercfg /WakeTimers”と入力して実行してタイマーの情報が現れた場合、そこにはプログラム名が表示されるので、該当するアプリケーションが特定の時間に動作する設定を見直してほしい。これで表面的なスリープを解除するトリガーは解除できるが、やっかいなのはWindows Updateだ。

 Windows 10の場合、Windows Updateの実行はタスクで設定されているため、セキュリティリスクなどを踏まえてか、ユーザーが設定することはできない。Anniversary Updateを適用したWindows 10 バージョン1607も同じだ。対処法として、“Reboot”というタスクの[タスクを実行するためにスリープを解除する]のチェックを外すというものがあるが、何らかのタイミングで再びチェックされてしまう。

「タスク スケジューラ」の[タスク スケジューラ ライブラリ]-[Microsoft]-[Windows]-[UpdateOrchestrator]に並ぶ“Reboot”のプロパティダイアログを開き、[条件]タブの[タスクを実行するためにスリープを解除する]をクリックしてチェックを外し、[OK]ボタンをクリックする

 そのため、“Reboot”のプロパティダイアログにある[トリガー]タブで実行時間を日中(筆者の環境ではAM3時やAM3時半だった)に変更するといった柔軟な対応でスリープ解除問題に対応しよう。