社内ネットワークに新しい WSUS サーバーをインストールした後、多くの Windows クライアントがこのサーバーから新しい更新プログラムを受信できず、エラー 0x80244010 を発生しました。 判明したのは、このエラーが、内部の WSUS サーバーから更新されるコンピューターだけでなく、Windows Update サーバーから直接更新を受け取るデバイスにも典型的に見られるということです。 エラー0x80244010を修正し、Windows Updateサブシステムの機能を回復する方法を考えてみましょう。
問題を診断するには、WindowsUpdate.logを開きます(Windows 7 および 8.1 では %Windir% フォルダーにあり、Windows 10 では以下のように生成できます)。 更新ログに以下の行があります。
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: Exit code = 0x80244010
2018-10-04 16:10:29:042 282 2a2b2 Agent *********
2018-10-04 16:10:29:042 282 2a2b2 Agent ** END ** Agent: Finding updates
2018-10-04 16:10:29:042 282 2a2b2 Agent *************
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 >>## RESUMED ## AU: Search for updates
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.” です。 0x80244010″. これは、更新プログラムのスキャン時に、更新サーバー (WSUS) へのリクエストの最大数を超えたことを意味します。 これは、表(SUS_E_PT_EXCEEDED_MAX_SERVER_TRIPS)に従ってWindows Updateのエラーコードでも示されます。 サーバーは、最大トリップ数を超えたクライアントを切断します。 Windowsアップデート受信プロトコルのトリップ制限はアップデートサーバー側で設定され、デフォルトでは200トリップです。 また、トリップ中にクライアントがアップデートサーバーからダウンロードできるXMLファイルの最大サイズにも制限があり、200KBとなっています。 クライアントが確認するサーバー上のアップデート数が多いほど、ダウンロードされるXMLファイルのサイズは大きくなります。
通常、このエラーは、WSUSサーバーへのネットワーク接続が悪いか不安定な場合、またはクライアントがあまりにも多くの更新プログラムを受信する必要がある場合(新しいWSUSサーバー クライアントまたはコンピュータで、長い間更新プログラムがインストールされていなかった場合)に発生します。
最も簡単な方法は、コントロール パネルの Windows Update セクションで、クライアントの [再試行] ボタンを数回 (3-7) クリックするか、次のコマンドを実行することです:
wuauclt.exe /detectnow
ほとんどの場合、これで問題を解決できますが、ネットワーク内に多くのクライアントがある場合、この方法は受け入れられません。
デフォルトでは、クライアントは 22 時間ごとにサーバーの更新をチェックします(実際には 17.5 ~ 22 時間です)。 通常、作業中のコンピュータは夜間は電源を切っており、その作業時間は明らかに 17 時間未満です。 したがって、アップデート検索は1日1回行われ、失敗する。
グループ ポリシー「自動更新の検出頻度」 (コンピューターの構成 -> 管理用テンプレート -> Windowsコンポーネント -> Windows Update>セクションにあります) を使用して、より頻繁に同期することができ、たとえば、最大 3 時間ごとに同期することができます。 これを行うには、WSUSDB データベースで次のコマンドを実行します。
USE SUSDB
GO
UPDATE tbConfigurationC SET MaxXMLPerRequest = 0
WSUS データベース設定を変更したくない場合は、統合クリーンアップ ウィザード (Update Service コンソール -> オプション -> Server Cleanup Wizard -> all options -> Next) を使用して WSUS サーバーをクリーンアップして、古い更新、使用しないまたは置き換えられた更新 (MS Office 更新には多くの奇妙な物が含まれています) を削除してください。 その結果、Windows Update クライアントは WSUS サーバーからより少ないメタ情報を取得し、対話はそれぞれ 200 KB の 200 セッションに収まるはずです。
また、多くの WSUS サーバー クライアントがある場合、Fixing Windows Update error 0x80244022 の記事の推奨事項に従って、WsusPoolのパフォーマンスを向上させることが可能です。
これまで検討したいずれの方法でもクライアントの更新エラーを修正できない場合、そのクライアント上で Windows Update Agent の設定をリセットするスクリプトを実行し、ローカル キャッシュをクリーンアップします。 その後、何度か更新プログラムを検索してみてください。