WSUSについて調べてみた(Part 1/2)
週1ブログ更新とはなんだったのか。どうもかみーです。
さて、今回はWSUSについてです。何もわからなかったところからスタートして結構ハマりました。
WSUS(Windows Server Update Services)とは
その名のとおり、Windows Updateを管理することができるサーバです。KBなどのパッチからFU(半期に一度の機能更新のこと・・・Feature Updateの略・・・1909, 2004, 20H2など)まで、幅広く管理できます。
ドメイン参加PCに対し、ActiveDirectoryのグループポリシーにて「Windows UpdateはWSUSサーバを見に行くように」と指定することでWSUSを参照するようになります。
ドメインに参加していなくてもローカルグループポリシーの設定変更をすることでWSUSサーバを見に行くことが可能になります。
また、WSUSサーバではグループを作成することができます。
例えばグループA,Bを作成し、グループAは先行的にプログラムを配信し検証させ、特に問題がないことがわかったらグループBへ配信・・・ということができます。つよい。
発生していた事象
今回は1909→20H2へのUpdateが上手く行くかどうか、を検証したくグループを作成し20H2の配信を行ってもらいました。結果は6台中2台のみUpdateできました。え・・・少なくね・・・?ていうかなんで・・・?
他の端末では「更新プログラムのチェック」をしても「最新の状態です」としか返してくれないのでした。
切り分け1(キャッシュの削除)
この時点では以下のことを思いました。
- WSUSと正常な通信ができていない
- 端末側にゴミが溜まっていて判定がおかしくなっている
WSUSと正常な通信ができていない
まずはこちらから確認をしましたが、WSUSのレポート上ではホスト名やIPアドレスは合っておりました。また「更新プログラムのチェック」を押した時間が最新レポート時刻として表示されており、通信自体は出来ていると判断しました。
端末側にゴミが溜まっていて判定がおかしくなっている
続いてはこちらの切り分けです。以下の手順を用いてキャッシュフォルダを削除して、そのあとUpdateを行いました。
- コマンドプロンプトを「管理者権限」で実行
- コマンドを実行し、関連サービスを停止
net stop usosvc
net stop dosvc
net stop wuauserv
net stop bits
※全部Windows Update関連のようで上から
「Update Orchestrator」「Delivery Optimization」「WindowsUpdate」「Background Inteligent Transfer Service」
- 以下コマンドにてフォルダをリネーム
ren %systemroot%\SoftwareDistribution SoftwareDistribution_old
- キャッシュフォルダの削除
del /Q %ALLUSERSPROFILE%\Microsoft\Network\Downloader\*
- 関連サービスの実行
net start bits
net start wuauserv
net start dosvc
net start usosvc
- WindowsUpdateの再取得
usoclient startscan
これでUpdateが端末に配信され、世界は平和に戻るはずでした。しかし・・・
※画像は使いまわし
ッ・・・・・・!
次回へ続く。