Windows 7
 Computer >> コンピューター >  >> システム >> Windows 7

WSUS Windows Updateエラー0x80244010の原因と対処法:サーバーの最大ラウンドトリップ超過を解消する

WSUS Windows Updateエラー0x80244010とは

社内ネットワークに新しいWSUSサーバーを導入した後、多くのWindowsクライアントが0x80244010というエラーにより更新プログラムを取得できなくなるケースがあります。調査の結果、このエラーは内部のWSUSサーバーから更新を受けるコンピューターだけでなく、Windows Updateサーバーから直接更新を受け取るデバイスにも発生しうる典型的な問題であることが分かりました。本記事では、エラー0x80244010の原因と、Windows Update機能を復旧させるための具体的な対処法を解説します。

WindowsUpdate.logによる診断

問題を診断するには、まずWindowsUpdate.logを確認します(Windows 7および8.1では%Windir%フォルダーに格納されています。Windows 10ではPowerShellのGet-WindowsUpdateLogコマンドレットで生成できます)。ログには以下のような記録が残ります。

2018-10-04 16:10:28:661 121 2a2b2 PT WARNING: Exceeded max server round trips: 0x80244010
2018-10-04 16:10:28:661 121 2a2b2 PT WARNING: Sync of Updates: 0x80244010
2018-10-04 16:10:28:661 121 2a2b2 PT WARNING: SyncServerUpdatesInternal failed: 0x80244010
2018-10-04 16:10:28:661 121 2a2b2 Agent * WARNING: Failed to synchronize, error = 0x80244010
2018-10-04 16:10:29:042 282 2a2b2 Agent WARNING: WU client failed Searching for update with error 0x80244010
2018-10-04 16:10:29:042 282 2221c AU # WARNING: Search callback failed, result = 0x80244010
2018-10-04 16:10:29:042 282 2221c AU # WARNING: Failed to find updates with error code 80244010

エラーの原因:「Exceeded max server round trips」

ログの中で最も重要なのは「Exceeded max server round trips: 0x80244010」という行です。これは、更新プログラムのスキャン中に更新サーバー(WSUS)へのリクエスト回数が上限を超えたことを意味します。エラーコードはSUS_E_PT_EXCEEDED_MAX_SERVER_TRIPSに対応しており、規定回数を超えたクライアントはサーバー側から切断されます。

Windows Updateの受信プロトコルでは、更新サーバー側でラウンドトリップ(通信の往復)回数の上限が設定されており、既定値は200回です。さらに、1回の通信でクライアントがダウンロードできるXMLファイルの最大サイズも200KBに制限されています。サーバー上にクライアントがチェックすべき更新プログラムが多いほど、ダウンロードが必要なXMLファイルは大きくなります。200回の通信内で必要なデータを取得できなかったクライアントは一時的にサーバーから切断され、エラー0x80244010が返されます。

このエラーは一般に、WSUSサーバーへのネットワーク接続が低速または不安定な場合や、クライアントが大量の更新プログラムを必要としている場合(新しくWSUSに参加したクライアントや、長期間更新を適用していないコンピューターなど)に発生します。

対処法1:手動で再試行する

最も簡単な方法は、コントロールパネルのWindows Update画面で「再試行」ボタンを数回(3〜7回程度)クリックするか、以下のコマンドを実行することです。

wuauclt.exe /detectnow

注意: 更新プログラムの検索を開始した後は、前回の検索サイクルが完了するまで15分ほど待ってから次の操作を行ってください。

ほとんどの場合、この方法で問題は解決しますが、ネットワーク上に多数のクライアントが存在する環境では現実的ではありません。

対処法2:更新の検出頻度を上げる

既定では、クライアントは22時間ごと(実際には17.5〜22時間の間)にサーバーへ更新の有無を問い合わせます。通常、業務用PCは夜間に電源が切られるため、1日の稼働時間は17時間未満となります。その結果、更新の検索は1日1回しか実行されず、それが失敗すると翌日以降も同じ失敗が繰り返されることになります。

グループポリシーの「自動更新の検出頻度」(コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → Windows Update)を変更すれば、たとえば3時間ごとなど、より短い間隔で同期させることができます。

対処法3:WSUSデータベースでXMLサイズ制限を解除する

クライアントがWSUSサーバーからダウンロードできるXMLファイルの最大サイズ制限を解除することも可能です。WSUSDBデータベースに対して以下のSQLを実行してください。

USE SUSDB
GO
UPDATE tbConfigurationC SET MaxXMLPerRequest = 0

対処法4:サーバークリーンアップウィザードの実行

WSUSデータベースの設定を変更したくない場合は、統合されたサーバークリーンアップウィザード(Update Servicesコンソール → オプション → サーバークリーンアップウィザード → すべての項目にチェック → 次へ)を使用して、古い更新プログラム、未使用の更新プログラム、置き換え済みの更新プログラムを削除します(MS Officeの更新プログラムには不要なものが多く含まれている傾向があります)。これにより、クライアントがWSUSサーバーから取得するメタ情報の量が減少し、200回×200KBという制限内でやり取りが完結するようになります。

対処法5:WsusPoolのパフォーマンス向上

WSUSサーバーのクライアント数が多い場合は、IISのアプリケーションプール「WsusPool」の設定を見直してパフォーマンスを向上させることも有効です。詳細については、Windows Updateエラー0x80244022の修正に関する記事の推奨設定を参照してください。

対処法6:Windows Updateエージェントのリセット

上記のいずれの方法でもクライアント側の更新エラーが解決しない場合は、Windows Updateエージェントの設定をリセットするスクリプトを実行し、ローカルキャッシュをクリアしてください。その後、何度か更新プログラムの検索を試みてください。

  1. エンタープライズ環境でWSUS(Windows Server Update Services)を活用する方法

    エンタープライズ環境は、一般的なコンシューマー向けの利用形態とは大きく異なります。サーバー管理者であるあなたは、組織内のデバイスに届くコンテンツや更新プログラムをフィルタリングするために、追加の防御壁を設ける必要があります。管理者はWindows Server Update Services(WSUS)を利用して更新プログラムをダウンロードし、入念なテストと詳細な評価を経たうえで、組織内の複数のデバイスへ適用していきます。本記事では、エンタープライズ環境でWSUSを活用する方法について解説します。 エンタープライズ環境におけるWindows Server Update Services WSU

  2. Windows Updateエラー 0x8024D007の原因と解決策を徹底解説

    Windows Updateエラー 0x8024D007の解決策とは? エラーコード 0x8024D007 は、Windows Update の実行時に比較的多く報告されるエラーの一つです。この記事では、エラーが発生する原因と、実際に試せる具体的な解決方法をわかりやすく解説します。 エラー 0x8024D007 が発生する原因 技術系フォーラムやブログを調べてみると、このエラーに関する相談が数多く見つかります。典型的な質問例は以下のとおりです。 「Windows Vista(Home Premium)を使っています。Windows Update で『更新プログラムの確認』をクリックすると、次