最近、自宅の検証環境に Windows Update Services (WSUS) を導入しました。
新しい検証サーバーをデプロイして、Windows Update の参照先として構築した WSUS を設定したのですが更新プログラムの適用をすることができませんでした。
どうしてだろうと思って、WSUS の管理コンソールを開いてみたところこのようの画面になっていました…。
エラーの内容を見てみたところこのような内容が。
WSUS 管理コンソールは、リモート API 経由で WSUS サーバーに接続できませんでした。 Update Services サービス、 IIS および SQL がサーバー上で実行されていることを確認してください。問題が解決しない場合は、IIS、SQL、および Update Services サービスを再起動してみてください。 System.Net.WebException — HTTP ステータス 401: Unauthorized で要求が失敗しました。 Source Stack Trace: |
IIS / SQL Server / Update Service も正常に起動はしているのですよね…。
‘2008R2-WSUS-01’ に接続できません。 |
WSUS の Web サービスを開こうとしてもエラーとなっていました。
‘/ApiRemoting30’ アプリケーションでサーバー エラーが発生しました。 要求形式が認識されません。 例外の詳細: System.InvalidOperationException: 要求形式が認識されません。 ソース エラー: 現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。 スタック トレース: [InvalidOperationException: 要求形式が認識されません。]
——————————————————————————– |
WSUS のログは [C:Program FilesUpdate ServicesLogFilesSoftwareDistribution.log] に出力がされているのですが、このログには以下のように出力がされていました。
2010-11-20 13:27:35.395 UTC Error WsusService.8 HmtWebServices.CheckDssAuthWebService DssAuth WebService SoapException:System.Web.Services.Protocols.SoapException: System.W 場所 System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) |
情報を探してみたところ、以下のようなものがありました。
ASP.NET 2.0 をユーザー アカウントで実行されるように構成するとエラー メッセージ "一時クラスを生成できません" が表示される
Issues with the WSUS 3.0 Administration Console
WSUS に関連した Web サービスが、Windows Server 2003 ベースのコンピューターを Windows Server 2008 にアップグレードするときの動作を停止します。
WSUS Install Fails; There is a problem with this Windows Installer package.
そこが知りたい Windows Server Update Services(第3回)
今回の現象ですが、最後の [そこが知りたい Windows Server Update Services(第3回)] に記載されている現象が原因のようでした。
[C:Windowstemp] から [Network Service] の権限が外れてしまっていたため Web サービスを実行した際の一時クラスが生成できずエラーになってしまったみたいですね。
[フォルダーの一覧/データの読み取り] の権限を付与したところエラーを回避することができました。
どうして突然外れてしまったのかはわからないのですが今後、同様の現象が発生した際の対応策のメモとして残しておきたいと思います。