WSUSで大型アップデートが配布できないので設定を見直してみました
こんにちは、情シス担当のかわぐちです。
Windows10のバージョン1909以降の大型アップデートを適用しようとした時に、うまくいかずハマってしまったのでその時に何が問題だったのかをまとめてみました。
WSUSで大型アップデートが配布できない事に気づいた経緯
弊社ではクライアントPCのWindowsUpdateの管理を、Windows Server 2019で構築したWSUS(Windows Server Update Services)で行っています。
以前、WSUSを使ってWindows10のバージョン1809を配布しアップグレードすることに成功していたので、問題なく大型アップデートを配布できる状態になっていると考えていました。
しかし通常の更新プログラムは配布できるのに、Windows10のバージョン1909以降の配布を行おうとしても配布される気配がないことに気付き、WSUSに関する設定の見直しを行いました。
確認した関連項目
WSUSの基本設定
まずはWSUSの基本的な設定を疑い見直しました。
しかし、基本的には多くの記事で公開されているような設定になっていて問題なさそうでした。
この辺りは多くの情報があると思うので、マイクロソフトの記事などを参照していただければと思います。
WSUSの大型アップデート配布用の設定
WSUSでWindows10の大型アップデートを配布するための設定も確認しましたが、こちらも問題なさそうでした。
その際、大まかには以下のような設定を確認しています。
- Windows Server 2019のWSUSを使用している
- WSUSの「製品と分類」オプションの「製品」で「Windows 10」「Windows 10, version 1903 and Later」を選択している
- WSUSの「製品と分類」オプションの「分類」で「Upgrades」を選択している
- Windows 10バージョン1909、バージョン2004、バージョン20H2の機能更新プログラムを承認している
グループポリシーの設定
グループポリシーはWSUS用のグループポリシーオブジェクト(GPO)を作成し設定を行っていました。
確認した結果、特に問題はなく一般的な設定になっていることが確認できました。
- 「イントラネットのMicrosoft更新サービスの場所を指定する」を有効にしている
- 「更新を検出するためのイントラネットの更新サービスを設定する」を「http://servername:8530」に設定している
- 「イントラネット統計サーバーの設定」を「http://servername:8530」に設定している
- 「自動更新を構成する」を有効にしている
WindowsUpdateのデュアルスキャン
WSUSで大型アップデートの配布ができないことについて調べていると、WindowsUpdateのデュアルスキャンについての話がよく出てきます。
WindowsUpdateのデュアルスキャンとは、WSUSとWindows Update for Business(WUfB)を組み合わせて使用し、WSUSとWindowsUpdateのどちらからも更新を行うことができる機能になります。
弊社の環境について、この辺りの設定に問題がないか確認していきました。
レジストリの確認
具体的なデュアルスキャンの対応は今回省きますが、デュアルスキャンについて調べている時にWindows 10 の WSUS クライアントが Windows Update から更新プログラムを取得するようになってしまう事象についてという情報を見つけました。
この情報にあった以下のレジストリキーを確認しましたが、弊社の環境ではこれらのレジストリ値は存在しませんでした。
- HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
しかし弊社の環境では、このレジストリキーに「DeferUpgrade」というレジストリ値が存在していることに気付きました。
このレジストリキーにあるレジストリ値は、WindowsUpdateの動作に影響を与えるものが複数あるようだったので、「DeferUpgrade」もWindowsUpdateに影響を与えるのではないかと考えました。
そして「DeferUpgrade」について調べてみると、グループポリシーにある「アップグレードを延期する」という項目で設定される値であることがわかりました。
弊社の環境では「DeferUpgrade」を削除することも変更することもできない状態だったので、やはりグループポリシーで設定してしまっているのだろうと考えました。
そこでWSUSのGPOを確認してみましたが、「アップグレードを延期する」という項目を見つけることができませんでした。
ここで管理用テンプレートのバージョンを新しくしていたことに気付き、古い管理用テンプレートに戻してみると「アップグレードを延期する」という項目を発見することができました。
ただWSUSのGPOを確認したところ、この設定は行っておらず未構成になっていました。
他のGPOで設定を変更しているところはないかと確認していくと、Default Domain PolicyのGPOで「アップグレードを延期する」が有効になっているのを発見しました。
これを未構成に戻したところ、先程の「DeferUpgrade」というレジストリ値が消えました。
その結果、無事WSUSからバージョン1909の大型アップデートを配布できるようになりました。
最後に管理用テンプレートを新しいバージョンに戻してみましたが、新しい管理用テンプレートでも大型アップデートを配布できることが確認できました。
まとめ
「WSUSで大型アップデートを配布できない」と検索すると色々なトラブルが出てきます。
弊社の場合は古い管理用テンプレートで「アップグレードを延期する」を有効にし、あとから管理用テンプレートのバージョンを上げてしまったため、GPO上は問題を発見できないという状態になってしまっていました。
もし似たようなトラブルを抱えている方がいたら参考になれば幸いです。