事の起こりは、 WSUS(WindowsServerUpdateServices)管理コンソールで「前回の状態レポート」が「まだ報告されていません」から変化しないクライアントが存在するのが見つかった事。
クライアントがWSUSサーバーと通信できないようなので、WSUSサーバーの引っ越しのせいかと思ったが、グループポリシーでちゃんと接続先のサーバーは変更されている。
仕方ないのでググってみたところ、KB2734608というWSUS SP2用のパッチが見つかった。
自動翻訳で何が書いてあるか良く判らないが、要はサーバーのサービスとクライアントのサービスのバージョン違いで通信できなくなる現象を、解消するパッチらしい。
WindowsServer2008R2のWindowsUpdateの中に入っていたので、他のパッチも含めてまとめて適用…ここから悲劇は始まった…。
アップデート後、WSUS管理コンソールが、サーバーと接続できない…(T_T)
エラー内容は、
System.IO.IOException -- 予期しないパケット形式のため、ハンドシェイクに失敗しました。
…うむむ。
ググってみるとASP.NETの再インストールで治るような事が…。
ただ、ASP.NETをWSUSが使っているので、WSUSをアンインストールする必要がある。
WSUSのDBとアップデートファイルをバックアップしたうえで、サーバーマネージャで、ASP.NETごとWSUSをアンインストール…あれ?失敗?
WSUS単体でアンインストールしようとしても、アンインストールが不明なエラーで途中終了してしまう。
じゃあ再インストールと思ってみても、WSUSのセットアップを起動すると、まずWSUSのアンインストールを実行する事になって、同じ状況。
仕方ないので、レジストリやらプログラムを強制的に削除して再インストールを実行しても、どこかに残骸が残っているらしく、インストーラがこける。
進退窮まってしまった…僕ちゃんピーンチ!!(古っ!!)
もう他のサーバーにWSUSを移そうかと思った矢先、見つけたのは以下の書き込み。
http://www.wsus.info/index.php?showtopic=10256
ダメもとで書いてあるレジストリの内容をメモ帳にコピーし、
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup] "WmsdeInstalled"=dword:00000001 "PsfsipInstalled"=dword:00000001 "TargetDir"="C:\\Program Files\\Update Services\\" "ContentDir"="D:\\WSUS\\Updates" "CreatedContentDir"=dword:00000000 "SqlServerName"=hex(2):25,00,63,00,6f,00,6d,00,70,00,75,00,74,00,65,00,72,00,\ 6e,00,61,00,6d,00,65,00,25,00,5c,00,4d,00,49,00,43,00,52,00,4f,00,53,00,4f,\ 00,46,00,54,00,23,00,23,00,53,00,53,00,45,00,45,00,00,00 "SqlAuthenticationMode"="WindowsAuthentication" "SqlDatabaseName"="SUSDB" "SqlUserName"="" "SqlEncryptedPassword"="" "InstallType"=dword:00000001 "EncryptionKey"=hex:01,00,00,00,d0,8c,9d,df,01,15,d1,11,8c,7a,00,c0,4f,c2,97,\ eb,01,00,00,00,0f,bb,b9,dd,4e,00,28,47,a0,04,8b,e5,50,2a,a4,d4,04,00,00,00,\ 02,00,00,00,00,00,03,66,00,00,a8,00,00,00,10,00,00,00,9f,94,54,fa,cd,78,00,\ 7b,7d,cc,0a,ea,35,ca,46,a3,00,00,00,00,04,80,00,00,a0,00,00,00,10,00,00,00,\ b7,49,38,75,86,3e,0a,01,2d,f9,7b,a4,78,5e,98,c0,20,00,00,00,a1,f7,2e,cc,1b,\ 72,17,8f,b3,4f,aa,28,94,be,37,9f,a2,bb,f4,2a,c9,9e,7f,0e,d9,f6,51,c7,08,a7,\ c2,33,14,00,00,00,d9,59,26,4a,ea,f4,54,7d,11,c6,fe,92,66,39,47,0e,12,24,ac,\ 25 @="" "Version"=dword:00000003 "VersionString"="3.0.6000.374" "ConfigurationSource"=dword:00000000 "ServicePackLevel"=dword:00000000 "EnableRemoting"=dword:00000001 "WsusAdministratorsSid"="S-1-5-21-2055268292-2202182507-604799366-1008" "WSUSReportersSid"="S-1-5-21-2055268292-2202182507-604799366-1011" "SqlInstanceIsRemote"=dword:00000000 "wYukonInstalled"=dword:00000001 "IISInstallRevision"="3.0.6000.374" "IISPreviousInstallRevision"="" "IISUninstallConfigFilePath"="C:\\Program Files\\Update Services\\setup\\UninstallSettings.xml" "IISTargetWebSiteCreated"="False" "IISTargetWebSiteIndex"=dword:00000001 "SmtpUserPassword"="" "ProxyPassword"="" "PortNumber"=dword:00000050 "IIsDynamicCompression"=dword:00000000
WSUS.regというファイル名で保存し(インストール環境に応じて一部修正が必要)ダブルクリックして実行し、レジストリに登録。
そして、WSUSのセットアップを起動するとあら不思議、WSUS2.0がインストールされていると誤認識し、WSUS3.0へのアップグレードが始まり、エラーにならずに完了した。
その後WSUS管理コンソールを立ち上げてみると…接続できた!!
WSUSの同期の初期設定はやり直す必要があったが、DBの内容も同期したアップデートファイルも残っており、問題無し。
ああっ!!助かった~(^^;)
Amazonのギフト券を、書き込み主に贈りたい気分(笑)
よくよく調べてみると、KB2734608等のWSUSのパッチを当てる際、環境によってはWSUSが壊れる事があるらしい。(割と結構な確率で…。)
まったく、人騒がせなパッチだなぁ…(T_T;)