読者です 読者をやめる 読者になる 読者になる

Masato's IT Library

Microsoftの製品・サービスを中心に,色々と書いていきたいと思います

Windows Updateによる自動再起動を阻止する方法(Vista以降全バージョン対応)

はじめに

月次もしくは臨時のWindows Updateでは,コンピュータの再起動が求められることが多いですよね.

そんな時,おそらく誰もが経験したことがある(?)のが,

「実行中の処理があるため今再起動されると困る」

「放っておいたら文書が保存されずに再起動していた」
(こまめに上書き保存しましょう)

ということ.

しかしながら,自動更新やWindows Update自体を停止してしまうことは, 脆弱性や攻撃からの保護の観点から,好ましいものではありません.

(こちらはサービスごと止めちゃうタイプ)

forest.watch.impress.co.jp

そこで,今回はユーザが「サインイン(ログオン)しているときのみ」自動で再起動が行われることを防ぐ方法をお伝えします.

なお,今回の手順を行うとユーザがサインインしている限り自動で再起動は行われなくなりますが,
安全性のためにも 出来るだけ早く手動で再起動するようにしましょう!!

今回行う手法では,Windows Updateサービスの停止やレジストリの直接的な変更を行うのではなく, 企業等においてコンピュータの動作を制御するために用いられる「ポリシー」(グループポリシー)を変更します.
そのため,変更を誤ってもコンピュータが起動しなくなるなどの問題が発生することはなく,変更を元に戻す際にも副作用等が発生することがありません.

Windows 10からのアップデート仕様の変更

Windows 10からは,脆弱性の対処をより迅速に行うために,これまでのWindowsと異なり, Windows Updateの自動更新を設定からOFFにすることはできなくなりました.
また,自動更新適用後の再起動に関しても,あらかじめ設定した「アクティブ時間」以外では自動で再起動が行われるようになりました.(Pro以上のみ)

f:id:mst8000:20161208193504p:plain:w400

なお,今回の手順を適用することで,Windows 10でも同様に自動再起動が行われないようにすることができます. (Windows 10 Pro Anniversary Update (Version 1607)で確認)

適用手順

では,実際に設定を変更していきます.
以降の作業はすべてWindows 10 Pro Version 1607(Anniverssary Update)で行っていますが, 全てのWindowsでほぼ同じ作業手順となっています.(ただし全てPro相当以上のエディションのみ

また,以降では,管理者によって管理されていない通常のコンピュータにおける手順を示しています. Active Directory配下の場合は管理者が適切なGPOを編集することで適用することができます.

ローカルポリシーエディタを開く

コマンドプロンプトもしくは「ファイル名を指定して実行」ダイアログにgpedit.mscと入力して 「ローカルグループポリシーエディター」を開きます.
(Cortanaに「ローカルグループポリシー」と入力しても開くことができます.)

f:id:mst8000:20161208191101p:plain:w400

f:id:mst8000:20161208191220p:plain:w500

ポリシーを編集する

  1. ローカルグループポリシーエディターの左ペインで
    「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Windows Update
    と辿ります.
    f:id:mst8000:20161208194124p:plain:w600

  2. ポリシーによるWindows Updateの制御を有効にします.
    右ペインの「自動更新を構成する」をダブルクリックして設定ダイアログを開きます.
    f:id:mst8000:20161208194327p:plain:w600

  3. ①「有効」を選択し,
    ②「5 - ローカルの管理者の設定選択を許可」をドロップダウンから選択します.
    ③最後に「OK」を押してダイアログを閉じてください f:id:mst8000:20161208194605p:plain:w600

  4. 次に,ユーザがサインインしている状態での自動再起動を抑止します.
    ローカルグループポリシーエディターの右ペインで「スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない」をダブルクリックして開きます.
    f:id:mst8000:20161208195357p:plain:w600

  5. 「有効」を選択してから「OK」を選択してダイアログを閉じます.
    f:id:mst8000:20161208195549p:plain:w600

以上でポリシーの編集は完了です. f:id:mst8000:20161208195644p:plain:w600

ローカルポリシーの適用

ポリシーを編集しても,すぐに設定は反映されません.
コンピュータを再起動するか,次のコマンドを管理者コマンドプロンプトから実行して, ポリシーを適用してください.

gpupdate /force

f:id:mst8000:20161208184454p:plain:w400

おわりに

以上で,ユーザがサインインしている間のWindows Updateによる自動再起動をブロックすることができるようになりました.

なお,頭でも述べましたが,脆弱性対策,安全性のためにも,
出来るだけ早く手動で再起動するようにしましょう!!