ライン

ポイント:他に影響されずに利用できること

ライン

 はじめに

イントラ環境のWindows Updateサーバ

 WSUSサーバは、世界中の企業の中で動作しているサーバだと思います。従業員のPCやWindowsサーバの月例更新時に、一斉にマイクロソフトのサーバに更新プログラムをダウンロードするのではなく、社内に作成したWSUSサーバにより更新させることができるのです。
 今回は、このWSUSサーバを手元に作成してみることにしました。本当は、VMWareでAD環境とWSUS環境を同時に作成したかったのですが、手間がかかりすぎるので、小さく稼働までを見ようと思います。ADでポリシーのテンプレートを入れて、レジストリやローカルポリシーを触らないでもいいようにするのが便利なんですが、私の自宅環境はADは動作させていないので、逆に邪魔なんです。
 環境は、HPのML110G5でWindows 2008 R2 SP1を入れて見ようと思います。
 WSUSサーバは、Windows Server Update Servicesの略。通常ダブルサスと呼ばれています。マイクロソフトは、パッチファイルの配布を月例で行っています。2013年のスケジュールはセキュリティ情報リリース スケジュールに書かれている通りです。このほかに緊急パッチが配布されたりするので、結構頻繁です。企業の多くが無償でプログラムが提供されているWSUSが動作していると思いますが、結構構築ベンダーまかせになっていたりするのではないでしょうか。
 現状は、WSUS 3.0 SP2というバージョンが最新版ですから、この版で作成してみるこtにしましょう。

 システム構築

インストールはそのまま進む

 とりあえず、システム要件は確認しておきます。
WSUS 3.0 SP2 サーバー インストールのシステム要件に書かれている通り、Windows Server 2008 R2は問題なしです。
それ以外の部分の記述は若干古いままのものもありますが、さっと眺めておきます。
以下は、引用ですが、

WSUS サーバーのハードウェア最小要件

基本的なサーバー インストールで必要となるハードウェアの最小要件を次に示します。 
サポートされているハードウェア構成の詳細については、『WSUS 3.0 SP2 展開ガイド』
(英語版の可能性があります) を参照してください。
システム パーティションと WSUS 3.0 SP2 をインストールするパーティションは両方とも、
NTFS ファイル システムでフォーマットされている必要があります。
システム パーティションには、1 GB 以上の空き領域が必要です。
データベース ファイルを保存するボリュームには、2 GB 以上の空き領域が必要です。
コンテンツを保存するボリュームには、20 GB 以上の空き領域が必要です。30 GB が推奨されます。

こんな程度のスペックでいいようです。
SATAですが、ディスクは250GBありますし、メモリーは4GBあるサーバですから問題なしでしょう。
サーバ名は仮としてWSUS01というホスト名で、固定IPに設定してあります。

 初期構成タスク画面より役割の追加をクリックします。
後は、WSUSを選択し、指示に従って導入までを完了させます。

→ここでは、Windows Server Update Servicesを選択。
必要な役割サービスを追加をクリック
ここは、変更せずに先に進む。
この後は別のウィザードが開始です。
これは、別途インストールしてあげる必要があります。
Microsoft Report Viewer 2008 SP1 Redistributable - 日本語などで導入を済ませておきます。
ここにファイルは蓄えられるみたいです。容量としては問題なしです。
ウィザードは完了。
こちらもこんな感じに終了となっていました。

 インストールでは特に選択肢は少なかったので、難易度はありませんでした。
勝手にIISとデータベースができて終わりました。

WSUS設定ウィザード

 インストールに引き続いて、新しいウィザードが動き始めました。

接続の開始をクリックしました。
接続先サイトが勝手に変更になっているのだろうかとか思ってみていましたが?
日本語のドキュメントを先に読むことにしました。
WSUS 3.0 SP2 リリースノートをダウンロードしました。
以下のようなドキュメントです。しかしながら、特に有用な情報をみつけることはありませんでした。
ウィザードは停止しました。
現状のバージョンです。
まずは、キャンセルにして、以下のオプション画面を表示させます。
ウィザードは、サーバーマネージャーのWSUSオプション、WSUSサーバー設定ウィザードで再開することができます。
これで再開してみました。これで同じように進むと、今度はちゃんと同期を開始したようです。
これまでに2度インストールをして確認してみましたが、同じように引っかかっているので、再現性高いみたいです。
日本語だけに変更しました。
初期でクリックが入っているのは、こんな感じだった。
これも初期のままです。SPなども後で加えようと思います。
ここは、同期する時間は固定した時間がいいと思われる。今はこのまま。
「初期同期を開始します」にクリックを入れました。
上記で完了です。
SSLの利用というのが必要なのかはわかりませんが、自動承認はして欲しいところです。
グループポリシーについては、AD環境ではないので、今回はパスします。
(他の方のページをご参照ください)
既に同期は開始していました。
見たタイミングでは、57個が更新されていて、上記表示時には66個が既に入っている状態です。
ただし、まだ未承認状態にあるみたいなので、同期後に処理が必要そうです。
途中で自動承認規則を変更した場合には、「規則の実行」をクリックして反映させます。
これにより、以前のものを含めて同期をすることができるそうです。
ただ、この承認が実行されたとたんに、マイクロソフト社サーバとの同期が即時開始されるそうです。
気づくと回線もディスク容量もビックリになることを注意しないとダメです。
#そんなことはどこかに書いておいて欲しいよ。マジに驚いた
同期の状態は、既に19%になっていました。
おおよそ2時間程度で取得が完了できていました。

 更新できる状態になりました。
この一覧のままだと、若干わかりにくいので、右クリックして項目を増やしておくと便利です。
ダウンロードをされている状態にあるかなど、識別するには助かる情報があります。

 クライアントより更新

レジストリやポリシーでWSUSを指定

 ADを利用していない環境なので、Active Directory 以外の環境で自動更新を構成するを参考に設定をしていきます。
手元のWindows7のPCを見たら、このキーが未作成なので面倒そうです。
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
の2つの下を準備すればいいし、戻したいときはこの下を削除すればいい。

とりあえずは、グループポリシーエディタで設定してキーを作成してしまうことにしました。

手っ取り早くはこんな感じです。
DOS窓から、wuauclt /detectnowを入れて、windowsupdate.logをコマンドとして入れてみたものの、

Failure	Software Synchronization	Windows Update Client failed to detect with error 0x800b0001.

のように蹴られているっぽい。
KB2734608のパッチを適用してみる。
net stop wuauserv
net start wuauserv
でサービスの停止と開始を実施。
サーバの再起動は必要なしだった。

ここでクライアントから再度接続してみる。

ちゃんと通信もしているようです。

2013-06-23	13:26:13:796	 552	7ec	Agent	  * Found 0 updates and 72 categories in search; evaluated appl. rules of 925 out of 1967 deployed entities
2013-06-23	13:26:13:811	 552	7ec	Agent	*********
2013-06-23	13:26:13:811	 552	7ec	Agent	**  END  **  Agent: Finding updates [CallerId = AutomaticUpdates]
2013-06-23	13:26:13:811	 552	7ec	Agent	*************
2013-06-23	13:30:12:086	 552	7ec	PT	+++++++++++  PT: Synchronizing server updates  +++++++++++
2013-06-23	13:30:12:086	 552	7ec	PT	  + ServiceId = {〜}, Server URL = http://wsus01/ClientWebService/client.asmx

問題なしです。試しに、更新されたパッチを削除してチェックしてみました。

更新されることができました。

2013-06-23      15:58:40:216     552    1344    AU      #############
2013-06-23      15:58:40:216     552    1344    AU      ## START ##  AU: Download updates
2013-06-23      15:58:40:216     552    1344    AU      #########
2013-06-23      15:58:40:216     552    1344    AU        # Approved updates = 1
2013-06-23      15:58:40:232     552    1344    AU      AU initiated download, updateId = {6CD8829D-2053-48A3-AE06-3199A53F3D52}.201, 
callId = {53869AC2-6C86-4994-BC7F-70E58D97128F}
2013-06-23      15:58:40:232     552    1344    AU      Successfully wrote event for AU health state:0
2013-06-23      15:58:40:232     552    1344    AU      Currently showing Progress UX client - so not launching any other client
2013-06-23      15:58:40:232     552    1344    AU      Successfully wrote event for AU health state:0
2013-06-23      15:58:40:232     552    1344    AU        # Pending download calls = 1
2013-06-23      15:58:40:232     552    1344    AU     <<## SUBMITTED ## AU: Download updates 2013-06-23 15:58:40:232 552 1144
 DnldMgr ************* 2013-06-23 15:58:40:232 552 1144 DnldMgr ** START ** DnldMgr: Downloading updates [CallerId="AutomaticUpdatesWuApp]"
 2013-06-23 15:58:40:232 552 1144 DnldMgr ********* 2013-06-23 15:58:40:232 552 1144 DnldMgr * Call ID="{53869AC2-6C86-4994-BC7F-70E58D97128F}"
 2013-06-23 15:58:40:232 552 1144 DnldMgr * Priority="3," Interactive="1," Owner is system="1," Explicit proxy="0," Proxy session id="1,"
 ServiceId="{3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}" 2013-06-23 15:58:40:232 552 1144 DnldMgr * Updates to download="1"
 2013-06-23 15:58:40:232 552 1144 Agent * Title="Microsoft" Office 2007 suites (KB2687311) のセキュリティ更新プログラム
 2013-06-23 15:58:40:232 552 1144 Agent * UpdateId="{6CD8829D-2053-48A3-AE06-3199A53F3D52}.201" 2013-06-23 15:58:40:232 552
 1144 Agent * Bundles 1 updates: 2013-06-23 15:58:40:232 552 1144 Agent * {10B11279-9AF6-4AE6-9D56-E19E7F841204}.201
 2013-06-23 15:58:40:232 552 1144 DnldMgr *********** DnldMgr: New download job [UpdateId="{10B11279-9AF6-4AE6-9D56-E19E7F841204}.201]"
 *********** 2013-06-23 15:58:40:232 552 1144 DnldMgr * Queueing update for download handler request generation.
 2013-06-23 15:58:40:232 552 1144 DnldMgr Generating download request for update {10B11279-9AF6-4AE6-9D56-E19E7F841204}.201
 2013-06-23 15:58:40:248 552 1144 DnldMgr *********** DnldMgr: New download job [UpdateId="{10B11279-9AF6-4AE6-9D56-E19E7F841204}.201]"
 *********** 2013-06-23 15:58:40:248 552 1344 AU Getting featured update notifications. fIncludeDismissed="true"
 2013-06-23 15:58:40:248 552 1344 AU No featured updates available.
 2013-06-23 15:58:40:263 552 1144 DnldMgr * BITS job initialized, JobId="{97B545A5-78F3-4422-AD16-AF736C2C8AD4}"
 2013-06-23 15:58:40:263 552 1144 DnldMgr * Downloading from http://wsus01/Content/53/7A3358B6627155A996957BC6A6F602ECE241D753.cab
 to C:\Windows\SoftwareDistribution\Download\973289dee5496c311defffb7b8c4fc30\xlconv-x-none.cab (full file).
 2013-06-23 15:58:40:279 552 1144 Agent *********
 2013-06-23 15:58:40:279 552 1144 Agent ** END ** Agent: Downloading updates [CallerId="AutomaticUpdatesWuApp]"
 2013-06-23 15:58:40:279 552 1144 Agent *************
 2013-06-23 15:58:40:435 552 11a0 DnldMgr BITS job {97B545A5-78F3-4422-AD16-AF736C2C8AD4} completed successfully
 2013-06-23 15:58:40:466 552 11a0 Misc Validating signature for C:\Windows\SoftwareDistribution\Download\973289dee5496c311defffb7b8c4fc30\xlconv-x-none.cab:
 2013-06-23 15:58:40:513 552 11a0 Misc Microsoft signed: Yes 2013-06-23 15:58:40:513 552 11a0 DnldMgr Download job bytes total="7760964," bytes transferred="7760964"
 2013-06-23 15:58:40:513 552 11a0 DnldMgr *********** DnldMgr: New download job [UpdateId="{10B11279-9AF6-4AE6-9D56-E19E7F841204}.201]" ***********
 2013-06-23 15:58:40:513 552 11a0 DnldMgr * Queueing update for download handler request generation.
 2013-06-23 15:58:40:513 552 11a0 DnldMgr Generating download request for update {10B11279-9AF6-4AE6-9D56-E19E7F841204}.201
 2013-06-23 15:58:40:528 552 11a0 Handler MSP download: file xlconv-x-none.cab already exists in sandbox directory (C:\Windows\SoftwareDistribution\Download\973289dee5496c311defffb7b8c4fc30)
 2013-06-23 15:58:40:560 552 11a0 DnldMgr *********** DnldMgr: New download job [UpdateId="{10B11279-9AF6-4AE6-9D56-E19E7F841204}.201]" ***********
 2013-06-23 15:58:40:560 552 11a0 DnldMgr * All files for update were already downloaded and are valid.
 2013-06-23 15:58:40:575 552 2f4 AU />>##  RESUMED  ## AU: Download update [UpdateId = {6CD8829D-2053-48A3-AE06-3199A53F3D52}, succeeded]
2013-06-23      15:58:40:575     552    2f4     AU      #########
2013-06-23      15:58:40:575     552    2f4     AU      ##  END  ##  AU: Download updates
2013-06-23      15:58:40:575     552    2f4     AU      #############
2013-06-23      15:58:40:575     552    2f4     AU      Successfully wrote event for AU health state:0
2013-06-23      15:58:40:575     552    2f4     AU      Currently showing Progress UX client - so not launching any other client
2013-06-23      15:58:40:575     552    2f4     AU      Successfully wrote event for AU health state:0
2013-06-23      15:58:40:575     552    1034    AU      Getting featured update notifications.  fIncludeDismissed = true
2013-06-23      15:58:40:575     552    1034    AU      No featured updates available.
..
2013-06-23      15:58:58:016     552    2f4     AU      #########
2013-06-23      15:58:58:016     552    2f4     AU      ##  END  ##  AU: Search for updates [CallId = {39E76FA3-1F25-4777-9A0A-B4B2E9E5CF20}]
2013-06-23      15:58:58:016     552    2f4     AU      #############
2013-06-23      15:58:58:016     552    2f4     AU      Featured notifications is disabled.
2013-06-23      15:58:58:016     552    1144    Report  CWERReporter finishing event handling. (00000000)
2013-06-23      15:58:58:016     552    2f4     AU      Successfully wrote event for AU health state:0
2013-06-23      15:58:58:016     552    2f4     AU      Successfully wrote event for AU health state:0
2013-06-23      15:59:01:698     552    de8     AU      Successfully wrote event for AU health state:0
2013-06-23      15:59:01:729     552    df4     AU      AU received handle event
2013-06-23      15:59:03:024     552    1144    Report  CWERReporter finishing event handling. (00000000)

ちゃんと通信できて更新ができることが確認できたと思います。
後は、定期更新にしてあげれば社内のWSUSサーバとして利用することができそうです。

ポリシーを未構成にすると、レジストリは以前のように存在しない形に戻っていました。
更新をかけるとWSUSではなくマイクロソフトの側を見に行くようになっていました。

これで問題なく使えることと戻せることを確認することができました。
レジストリなどは、reg export などで出力したものをreg importで取り込む形で配布することができそうです。

ところで、マイクロソフトでは便利なツールを配布していました。
とりあえずは、"ClientDiag.exe" で検索するとどんなツールかはわかるはず。特にXPでは見ておくといいかも。

 また、最近WSUSで一番悩んだのは、3.0SP2になっていないサーバと接続しているクライアントが、WSUSからの更新ができなくなってしまった事象。WSUS クライアントがエラー 0x800B0001 で更新プログラムの検出に失敗するに書かれている通り、windowsupdate.logを見た際に、"0x800B0001"のコードでFATALになっている状況があれば、この事象を疑った方がいいです。
簡単な確認方法は、ユーザ側のPCで C:\Windows\System32\wuaueng.dll をプロパティで参照した際に、7.6.7600.256 になっていて、WSUSサーバ側が 3.0 SP1だったら、この事象になります。SP2でも最新のSP2じゃないと出るみたいです。
ソリューションは、サーバ側を最近のKB2720211適用してあげれば通信してくれるようになる。私がこのサーバで試す限りでは、サーバのリブートもなかったし、サービス再起動程度で更新できたけど、アップデートによる障害事例はあるので事前チェックは必要みたいだ。
 『WUA の最新版はセキュリティの強化を目的としたバージョンのため、以前のバージョンへ戻す (= アンインストール) 操作に対応していません』とかいっているし、無条件にサーバ側を更新して欲しい、な書き方。私は別の現場では、かなり古い版の実行ファイル /wuforce のパラメータ付き状態で切り戻して更新できるようになることを検証しましたけど。MS側が情報をほとんど公開しない状態でいるのがかなり不満でした。
 Windows 2012だと、WSUS 4.0というバージョンになるそうです。2012は、楽しくないOSだと感想を持ったので、手元に1つもないのですが…何かの機会があれば入れて試しておきたいです。検証用のライセンスなんて今の立場じゃ保有していないしね。

機会があれば、AD連携でも確認してみようと思います

 その他の備忘録

容量がでかくなった際の対処方法

 意外に容量を喰ってしまう場合、C:\WSUS\WsusContentが大きくなります。
こやつを小さくする方法が、なかなか検索で見つかりにくくなっていました。

たとえば、現在こんな程度あったとします。
となっているものを、
こんなにしたという場合でも、容量には変化はないんです。
承認されると勝手にダウンロードを開始するのに、承認範囲を変えても消してはくれないんです。
これを削除するには、更新→すべての更新プログラム→承認済み→すべてのように選択し、タイトル順を並べ替えて、削除したいものを全選択します。
以下の例では、XP 64bit版を選択しています。
選択状態で、右クリックし、「拒否」を選択する。
拒否を入れると、更新が開始します。
この更新はそこそこの時間がかかります。
次に、オプションのWSUSクリーンアップウィザード開始を選択し、進めると削除してくれます。
基本、この状態のままでいいですが、2番目は属性が違うので、必要と考える方は外して進めてください。

上記のように削除されました。

【改訂履歴】作成:2013/06/22  改訂: 2013/06/29
【参考リンク】
Windows Server Update Services ホーム… マイクロソフトのページ。
これから始めるWSUS 3.0入門… @IT
重要 WSUS の更新プログラムは確実に最新版の適用を行ってください…TechNet Blogs


Copyright © 1996,1997-2006,2007- by F.Kimura,