2011年7月26日火曜日

WSUSでクライアントPCの状態が「まだ報告されていません」のままになってしまう

今までWindows Server 2003で運用していたが、ついにWindows Server 2008 R2にした。
ほぼ順調だったが、WSUSで躓いた…。

WSUSのコンソールからクライアントPCは見えるのだが、いつまで経っても「まだ報告されていません」のまま。
40台あるうちの1台だけ何故か3%ほど報告しているのもよく分からないが完全に状態を報告したPCはない状態…。
ドメインコントローラは複数台あったので、GPOも今までのままでWSUSサーバの設定も原則的には変えていないはず。
何が悪いんだ…?!
wuauclt.exe /detectnow
wuauclt.exe /reportnow
やらはやってみたけど、状況は変わらない。

C:\Windows\WindowsUpdate.logを見ると
WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f7
WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f7
WARNING: DownloadFileInternal failed for http://swptyo1ad1/selfupdate/wuident.cab: error 0x801901f7
とか
FATAL: IsUpdateRequired failed with error 0x80244022
WARNING: SelfUpdate: Default Service: IsUpdateRequired failed: 0x80244022
WARNING: SelfUpdate: Default Service: IsUpdateRequired failed, error = 0x80244022
WARNING: Skipping scan, self-update check returned 0x80244022
WARNING: Exit code = 0x80244022
とかある。調べたところ、503 Server Unavailableの状態ということので、多分WEBサーバの設定がおかしいんだろう…。
ちなみに、プロキシは使っていない。

IIS、正直あんまり触ったことない…。

とりあえずもっと情報が欲しいので、クライアントPCにclientdiag.exeをインストール
ダウンロードはこちらから
http://download.microsoft.com/download/9/7/6/976d1084-d2fd-45a1-8c27-a467c768d8ef/WSUS%20Client%20Diagnostic%20Tool.EXE

C:\TEMP>clientdiag
WSUS Client Diagnostics Tool
Checking Machine State
        Checking for admin rights to run tool . . . . . . . . . PASS
        Automatic Updates Service is running. . . . . . . . . . PASS
        Background Intelligent Transfer Service is running. . . PASS
        Wuaueng.dll version 7.4.7600.226. . . . . . . . . . . . PASS
                This version is WSUS 2.0
Checking AU Settings
        AU Option is 4: Scheduled Install . . . . . . . . . . . PASS
                Option is from Policy settings
Checking Proxy Configuration
        Checking for winhttp local machine Proxy settings . . . PASS
                Winhttp local machine access type
                       
                Winhttp local machine Proxy. . . . . . . . . .  NONE
                Winhttp local machine ProxyBypass. . . . . . .  NONE
        Checking User IE Proxy settings . . . . . . . . . . . . PASS
                User IE Proxy. . . . . . . . . . . . . . . . .  NONE
                User IE ProxyByPass. . . . . . . . . . . . . .  NONE
                User IE AutoConfig URL Proxy . . . . . . . . .  NONE
                User IE AutoDetect
                AutoDetect in use
Checking Connection to WSUS/SUS Server
                WUServer = http://<サーバ名>
                WUStatusServer = http://<サーバ名>
        UseWuServer is enabled. . . . . . . . . . . . . . . . . PASS
        Connection to server. . . . . . . . . . . . . . . . . . PASS
WinHttpDownloadFileToMemory(szURLDest, NULL, 0, NULL, NULL, NULL, &downloadBuffer) failed with hr=0x801901f7
No Error description could be found
Press Enter to Complete
あんまりよく分からないが、繋がってはいるもののそこから先がダメ。503 Server Unavailableって所で引っかかってるらしい…。

よく分からないので、一旦WSUSとIISの役割を削除して、再度追加。
それで直ればいいなぁ、と期待したものの、直らない…

そもそもIISがちゃんと構成されていないのでは?と思ったので、WSUSとIISを削除して、今度はIISのみ追加。

むむ、デフォルトウェブサイトにつないでもやっぱり503 Server Unavailable…。
やはりIISがおかしい。

IISが503を返す理由を調べているうちに、どうもサービスを起動する権限がおかしい可能性があることが分かった。


  1. 管理ツールから「インターネット インフォメーション サービス(IIS)マネージャ」を起動
  2. 中央部の接続ペインから実行サーバ名をクリックし、アプリケーションプールを選択
  3. 右ペインの「DefaultAppPool」を右クリックして、「詳細設定」を選択
  4. プロセスモデルのIDを「NetworkService」にする(本来はこれがデフォルトだが、このサーバではApplicationPoolIdentityとなっていた)
  5. OKで終了し、再度DefaultAppPoolを右クリックして、「再起動」させる

これでIISは正常になった。

もう一度、WSUSを追加したところ、正常に動作。

やっと終わった~!

0 件のコメント: