インターネットに接続できないネットワーク上のサーバーがいくつかある Windows Server 2016 を中心に構築された新しい環境をインストールする際、2 つのネットワーク カード (デュアル NIC) を持つサーバーの 1 つに Windows Server Update Services (WSUS) をインストールしました。NIC の 1 つはインターネットに接続して更新プログラムをダウンロードし、もう 1 つの NIC (トラフィックをルーティングしないように特別に構成) 経由で残りのサーバーに提供できます。構成が完了すると、すべてのマシンが WSUS サーバーに自分自身を報告しましたが、更新プログラムはダウンロードされませんでした。
最終的に、「更新延期ポリシーによる Windows Update のスキャンを許可しない」ポリシーを発見し、これを有効にして、インターネットにアクセスできないセグメントのサーバーとワークステーションにローカル WSUS サーバーをさらに使用させるように強制しました。この構成では、Windows 10 ワークステーションは完全に機能しましたが、Windows Server 2016 マシンは依然として一貫して失敗しました。
最終的に、WSUS サイトに関連付けられた AppPool の「プライベート メモリ制限」が小さすぎて、Windows Server 2016 スキャンを完了できないことがわかりました。WSUS によってインストールされた既定の制限は、2.8 GB 程度でした。推奨設定は「0」(無制限) です。1 台の Windows Server 2016 マシンのスキャンを見ると、各 Windows Server 2016 マシンは、更新の「スキャン」フェーズ中に 6 GB を超えるメモリを使用することがわかります。サーバーがこのメモリ要件をディスクに「ページング」しないという証拠があったため、物理メモリも増やしました。スキャン フェーズが一貫して完了すると、サーバーは更新のダウンロードを開始しましたが、OS 累積パッチは一貫して適用されませんでした。Get-WindowsUpdateLog コマンドを使用して何が起こっているのかを調べようとしましたが、生成されたログは問題を示していませんでした。他のログやイベントを調べ、更新の失敗からの戻りコード (0x800705b4) を Google で検索しましたが、解決策やポインターは見つかりませんでした。絶望から、Windows Defender のアクティビティが原因で更新がタイムアウトしたと仮定しました。注: 最終的には、これらの更新を Microsoft からダウンロードして手動でインストールしましたが、手動でインストールしようとするたびに、問題なくインストールされました。
タイムアウトが発生しているという仮定に基づいて、Windows Defender の「リアルタイム保護」を無効にしましたが、これによりインストールが明らかに遅くなりました。リアルタイム保護を無効にすると、インストールが完了できるほどインストールが高速化されたようです。これは 1 回の反復で実行されましたが、その後、リアルタイム保護を再度有効にしました。
最後に質問です。Windows Update が更新プログラムを適用する時間を延長する方法はありますか? または、これらの大規模な更新プログラムを自動的に適用するベスト プラクティスはありますか?