雑記帳

整理しない情報集

自動スリープ解除の対策

公開日:

最終更新:

カテゴリ: Windows

Windowsでは、標準設定で自動メンテナンスや更新プログラムの適用のために、夜中に自動でスリープを解除してタスクを実行することがあります。この記事ではその対策について考えます。

なお、この記事に掲載されている方法をすべて実行しても、稀にスリープが解除されてしまうことがあります。

対策1: 電源設定

電源オプションのリストには「スリープ解除タイマーの許可」があるので、これを無効にします。

方法

  1. スタートボタンを右クリック(もしくはWin+X)→「電源オプション(O)」
  2. 関連設定「電源の追加設定」
  3. 選択中のプランの「プラン設定の変更」
  4. 「詳細な電源設定の変更(C)」

詳細な電源設定の変更画面

  1. リスト内の「スリープ」→「スリープ解除タイマーの許可」を無効にしてOK

対策2: タスクスケジューラの設定

タスクスケジューラ

各タスクの設定には実行の条件の設定に「タスクを実行するためにスリープを解除する」という項目があります。タスクスケジューラに登録されているすべてのタスクからこのチェックボックスを外します。

方法

  1. スタートボタンを右クリック(もしくはWin+X)→「コンピュータの管理(G)」
  2. 左ペイン「タスクスケジューラ」内の「タスクスケジューラ ライブラリ」
  3. 中央上ペインからタスクを選択し、中央下ペインの「条件」タブを開き、電源欄の「タスクを実行するためにスリープを解除する」のチェックボックスを確認する。入っている場合は次の手順へ
  4. タスクをダブルクリックで開き「条件」タブから同項目のチェックを外す
  5. 手順3~4をタスクスケジューラ内のすべての項目で行う

パスワード入力画面が出てきたら

パスワード入力画面

パスワード入力画面が出てきた場合は、アクセス権限が無いためタスクの編集ができません。タスクスケジューラのタスクは%systemroot%\System32\Tasks以下に保存されているので、該当のファイルのアクセス権限を変更します。方法は過去の記事を参考にしてください。設定画面はプロパティダイアログのセキュリティタブにあります。

次項は情報が古いため、閉じておきます(2024/06/01編集)。

残課題: Windows Update後の自動再起動の設定

タスクスケジューラに登録されている項目の中に、1つだけどうしようもない項目があります。\Microsoft\Windows\UpdateOrchestrator\Rebootというタスクで、Windows Update後に自動で再起動させるためのタスクです。アクセス権限の変更は必要ですが、他のタスクと同様に編集することができます。

しかし、このタスクはWindows Updateが実行された後の再起動待機状態のときに下記の条件で、タスクを強制的に上書きします。

  • 再起動待機状態になったとき
  • 「更新とセキュリティ」の設定画面を開いたとき
  • 自動メンテナンス実行時/次の更新プログラム確認時
  • 他にも条件はある模様?

これらのアクションを起こす、あるいは発生する度に、権限設定含めてタスクを編集する必要があります。

Windows10のProエディションを使用している場合はグループポリシーで再起動自体を阻止できますが、Homeエディションの場合は今のところWindows標準機能での対策はなさそうです。

筆者の対策

筆者が使用している総合セキュリティ対策ソフトには、ファイルのアクセスを監視し変更を阻止する機能があります。この機能を活用することで、%systemroot%\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot
%systemroot%\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot_AC
%systemroot%\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot_Batteryファイルの変更を阻止しています。(2024/06/01加筆修正)

システム系の権限で作成/編集されるファイルのため、フリーソフトなどで阻止できるかどうかはわかりませんが、試してみる価値はあるかもしれません。

番外: デバイスの設定

デバイスのプロパティ画面には「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする(O)」という項目があります。主に入力デバイス(キーボードやマウスなど)とネットワークデバイスに存在する設定項目で、キーボードなどの入力やMagic Packetによってスリープを解除することができるようになる機能です。この機能を使用しないのであれば無効にしておくと良いかもれません。

方法

  1. スタートボタンを右クリック(もしくはWin+X)→「コンピュータの管理(G)」
  2. 左ペイン「デバイスマネージャー」を開く
  3. 中央ペインから該当のデバイスをダブルクリック

デバイスのプロパティ

  1. 「電源の管理」タブ内の「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする(O)」のチェックを外す
  2. OKもしくは適用して閉じる

( 更新)

カテゴリ: Windows