Windows 10 / Windows Server 2016 でも Windows Update の自動更新は止められます

Last Update:

みなさま、こんにちは。WSUS サポート チームです。

いきなり結論ですが Windows Server 2016 および Windows 10 でも Pro 以上のエディションであれば、下記のグループ ポリシーを利用することで Windows Update による自動更新は止めることが出来ます。このブログでも紹介している通り、「設定」画面から自動更新の設定が変更出来ないため、不安に思うかもしれませんが安心してください!

[コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント] - [Windows Update]
[自動更新を構成する] を ”無効”

私も 3 年以上 WSUS / Windows Update のサポートをしており、何度も「無効にしていたはずなのに動作してしまった」「実際に Windows Update は無効に出来ないのではないか?」「勝手に Windows Update が実行された」とのお問い合わせをいただきましたが、それは上記のグループ ポリシーが正常に動作していないわけではなく、すべてのケースにおいて別の要因でした。

今回は自動更新が意図せず動作してしまったように見えるパターンも合わせてご紹介しますので、同じような状況の場合は是非チェックしてみてください。

・手動で Windows Update を実行した
・Windows Update による自動更新ではなく、その他の更新処理等が動作した
・自動更新の設定が意図せず変わった

手動で Windows Update を実行した

[自動更新を構成する] のグループ ポリシーでは、あくまでも Windows Update の自動実行を抑止するものです。このため、手動で「設定」画面から Windows Update を実施すると、自動更新を無効にしていても Windows Update を行えてしまいます。

「さすがにそんなこと知っているって」と思われる方も多いかと思いますが、Windows Server 2016 / Windows 10 では、以前の Windows OS と違い、適用可能な更新プログラムがあれば「設定」画面から「更新プログラムのチェック」をクリックすると、インストールまで行われてしまうため、このパターンのお問い合わせもよくいただきます。

ちなみに、Windows Server 2016 / Windows 10 バージョン 1607 以降の環境では、下記のグループ ポリシーを設定することで、「設定」画面から「更新プログラムのチェック」を押せなくなるため、そもそも手動でも実行させたくないんだけど…という方は、合わせて設定をご検討ください。

[コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント] - [Windows Update]
[Windows Update のすべての機能へのアクセスを削除する] を ”有効”

上記のグループ ポリシーを設定すると、下記のように「更新プログラムのチェック」も押せなくなります。

Windows Update による自動更新ではなく、その他の更新処理等が動作した

手動でも実行もしてないけど Windows Updateサービスが動作したり、通信等を見ていると Windows Update サイトへの接続が発生している…という場合には、このパターンに当てはまる可能性があります。Windows Update サービスや Windows Update サイトは、Windows Update による OS 等の更新プログラムの適用以外にも利用されているため、実際に自動更新が行われていなくても、サービスが動作したり、サイトへの接続が発生することはございます。

ストア アプリの更新、ドライバーの更新等がありますが、これらもグループ ポリシーで無効にすることが出来るので、更新が不要であれば、止めてしまいましょう。

1
2
3
4
5
6
7
8
9
10
11
12
- ストア アプリの自動更新を無効化
[ コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [ストア] –
[ 更新プログラムの自動ダウンロードおよび自動インストールをオフにする] を "有効"

- Microsoft コンシューマー エクスペリエンスの無効化
[ コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [クラウド コンテンツ] –
[Microsoft コンシューマー エクスペリエンスを無効にする] を “有効”

- ドライバーの検索を無効化
[ コンピューターの構成] - [管理用テンプレート] - [システム] - [デバイスのインストール] -[
デバイス ドライバーを検索する場所の順序を指定する] を "有効" かつ
オプション [検索順序を選択する] にて、"Windows Update を検索しない" を指定

また、Windows Update に限らず、OS としてインターネット経由で弊社サイトへアクセスする動作はあります。インターネット接続が発生する動作の制御方法については、下記の公開情報にて紹介しておりますので、ご参考としてください。

あと、加えて注意が必要なのは Office の更新です。このブログでも紹介している通り、クイック実行版の Office は Windows Update / Microsoft Update と異なる仕組みで更新を管理しているので、更新させたくない場合には別途考慮が必要です。

自動更新の設定が意図せず変わった

さてこのパターンに当てはまる時が一番やっかいなパターンとなります。まず OS 標準の動作で自動更新の設定を変更して、勝手に有効化することは絶対にありません。 このため、意図していないのに、自動更新の設定が変わってしまうということであれば、下記のようなパターンが考えられます。

  • グループ ポリシーの適用が正しく行われていない
  • サードパーティ製のアプリケーション等が、勝手に設定を変えている

“gpupdate /force” を実行しても下記のレジストリ値に設定が反映されない、またタイミングによって反映されないことがある場合には、グループ ポリシーの適用が正しく行われていない可能性があるので、グループ ポリシーの観点でトラブル シューティングを行う必要があります。

  • [自動更新を構成する] を ”無効” に設定されていることを示すレジストリ値
    キー : HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
    値 : NoAutoUpdate : 1 ( Reg_DWORD )

ローカル グループ ポリシーで設定を行っている場合や、”gpupdate /force” を実施しても、しばらくすると設定が変わっている!?という場合には、何かのアプリケーションが勝手に設定を変えている可能性があります。よくあるのはセキュリティ系のアプリケーションですが、アンインストールして動作に変化が見られないか、切り分けを実施するのは、セキュリティ上ちょっと。。。と言う場合には、監査ログを利用した調査が有効です。

下記の手順で監査ログを仕掛けると、どのアプリケーションが対象のレジストリ値に変更を行ったか記録しておくことが出来るため、勝手に自動更新の設定変更をしているアプリケーションを特定出来る可能性があります。

  • 監査ログの設定手順
  1. 事象発生コンピューターへ管理者権限を持つユーザーでログインし、 [スタート] メニューの [ファイル名を指定して実行] より[regedit] を起動します。
  2. 以下のキーを右クリックし、 [アクセス許可] を開きます。それぞれのキーに対して、順に実施します。HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  3. [セキュリティ] タブを開き、[詳細設定] を開きます。
  4. [監査] タブを開き、[追加] をクリックします。([続行] と表示される場合は、[続行]をクリック後に表示されます。)
  5. [プリンシパルの選択] にて、”Everyone” と入力しま す。
  6. [ユーザー または グループ の選択] 画面で、[OK] をクリックします。
  7. [監査エントリ] で、[すべて] [このキーとサブキー]、[フルコントロール] にチェックを入れま す。
  8. [OK] で順に開いているウインドウを閉じます。
  9. コマンド プロンプトを管理者として起動します。
  10. 以下コマンドを実行します。(監査ポリシーについて設定を確認します。)auditpol /get /category:”オブジェクト アクセス”例: 監査ポリシーより設定していない場合以下のように表示されます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C:\Users\Administrator>auditpol /get /category:"オブジェクト アクセス"

システム監査ポリシー
カテゴリ/サブカテゴリ 設定
オブジェクト アクセス
ファイル システム 監査なし
レジストリ 監査なし
カーネル オブジェクト 監査なし
SAM 監査なし
証明書サービス 監査なし
生成されたアプリケーション 監査なし
ハンドル操作 監査なし
ファイルの共有 監査なし
フィルタリング プラットフォーム パケットのドロップ 監査なし
フィルタリング プラットフォームの接続 監査なし
その他のオブジェクト アクセス イベント 監査なし
  1. “レジストリ” を “成功および失敗” と設定を行います。
1
2
auditpol /set /subcategory:"レジストリ" /success:enable
auditpol /set /subcategory:"レジストリ" /failure:enable
  1. 再度以下コマンドを実行し、”レジストリ” が “成功および失敗” となっているか確認します。auditpol /get /category:”オブジェクト アクセス”

  2. レジストリ エディタ等で、「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU」キー配下を開いた後、セキュリティのイベント ログに下記のよう出力されることを確認します。

  • 出力例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
下記のイベントでは、レジストリ エディタで、「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU」キー配下へアクセスが行われたことが判ります。
--------------------------------
ログの名前: Security
ソース: Microsoft-Windows-Security-Auditing
日付: 2017/06/07 11:19:17
イベント ID: 4663
タスクのカテゴリ: レジストリ
レベル: 情報
キーワード: 成功の監査
ユーザー: N/A
コンピューター: XXX
説明:
オブジェクトへのアクセスが試行されました。(中略)

オブジェクト名: \REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
ハンドル ID: 0x1b4

プロセス情報:
プロセス ID: 0x880
プロセス名: C:\Windows\regedit.exe
--------------------------------
  1. 事象を再現した後に、再度セキュリティのイベント ログを確認します。
  • 出力例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
例えば、下記のイベントでは、XXX.exe がレジストリ値の設定変更を行っていることを特定出来ます。
--------------------------------
ログの名前: Security
ソース: Microsoft-Windows-Security-Auditing
日付: 2017/06/07 11:19:17
イベント ID: 4657
タスクのカテゴリ: レジストリ
レベル: 情報
キーワード: 成功の監査
ユーザー: N/A
コンピューター: XXX
説明:
レジストリ値が変更されました。(中略)オブジェクト: オブジェクト名: \REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU オブジェクト値名: NoAutoUpdate ハンドル ID: 0x108 操作の種類: 既存のレジストリの値が変更されました
プロセス情報: プロセス ID: 0xa2c プロセス名: C:\Program Files\XXXXX\XXXXX.exe
--------------------------------