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

【解決】Windows Server 2016/Windows 10で「更新プログラムのダウンロード 0%」から進まない問題の原因と対処法

現象:更新プログラムのダウンロードが0%で止まる

Windows Server 2016(Windows 10 RTM)のWindows Updateサービスには、興味深い「仕様(バグ)」が存在します。社内にWSUSサーバーを構築せず、OSをMicrosoft Updateサーバーから直接更新する構成の環境で、プロキシサーバー経由のインターネット接続を行っていると、更新プログラムのダウンロード処理が0%(Downloading Updates 0%)のまま止まってしまうのです。

不思議なことに、Windows Updateクライアントは更新プログラムのメタデータ(必要な更新一覧)の取得自体には成功しています。しかし、肝心のファイル本体がまったくダウンロードできない状態となります。
PowerShellのGet-WindowsUpdateLogコマンドレットを使って、WindowsUpdate.logを作成し、内容を確認してみましょう。

2018/11/11 12:32:47.8312332 123 3542 DownloadManager BITS job initialized: JobId = {E3BB42A1C-42B4-221B-1320-8AB433CE1965E}
2018/11/11 12:32:47.8436054 123 3542 DownloadManager Downloading from https://download.windowsupdate.com/c/msdownload/update/software/defu/2017/09/nis_engine_1af0e4b80bf4028f8dac56ebf186b392e4e72486.exe to C:\Windows\SoftwareDistribution\Download\... (full file)
2018/11/11 12:32:47.8452605 123 3542 DownloadManager New download job {E3BB42A1C-42B4-221B-1320-8AB433CE1965E} for UpdateId F608EDA4-2E84-433A-A8C9-8117411F91A8.200
2018/11/11 12:32:47.8545291 123 3542 DownloadManager Download job E3BB42A1C-42B4-221B-1320-8AB433CE1965E resumed.
2018/11/11 12:32:47.8734449 123 3542 DownloadManager Failed to connect to the DO service; (hr = 80040154)
2018/11/11 12:32:47.8734462 123 3542 DownloadManager GetDOManager() failed, hr=80246008, hrExtended=80040154
2018/11/11 12:32:47.8734472 123 3542 DownloadManager Failed creating DO job with hr 80246008
2018/11/11 12:32:47.8772521 123 3542 DownloadManager DO download failed with error 80246008[Extended: 80040154], falling back to BITS and retrying with new Download Job.

ログを見ると、BITSがファイルをダウンロードできず、エラー80246008(SUS_E_DM_FAILTOCONNECTTOBITS。Windows Updateエラーコード一覧参照)で失敗していることがわかります。

原因:WinHTTPにシステムレベルのプロキシ設定がされていない

調査の結果、Windows Server 2016 RTM(ビルド10.0.14393)では、Internet Explorerのプロキシ設定が従来のWindowsバージョンとは異なる挙動を示すことが判明しました。Windows Updateクライアントがプロキシ経由でインターネットへアクセスできるようにするには、winhttpに対してシステムレベルのプロキシを明示的に設定する必要があります。

現在のWinHTTPプロキシ設定を確認するには、次のコマンドを実行します。

netsh winhttp show proxy

実行結果の例:

Current WinHTTP proxy settings:

Direct access (no proxy server).

このように、WinHTTPのプロキシ設定が空になっています。Internet Explorer(ユーザーレベル)にはプロキシが設定されていても、システムレベル(WinHTTP)には反映されないため、Windows Updateへの接続が失敗してしまうのです。

対処法:netshコマンドでWinHTTPプロキシを設定する

WinHTTP用のシステムプロキシは、以下のコマンドで設定できます。

netsh winhttp set proxy proxy-server="192.168.100.24:3128" bypass-list="*.example.com"

また、事前に手動設定、もしくはGPOで構成しておいたInternet Explorerのプロキシ設定をインポートする方法もあります。

netsh winhttp import proxy source=ie

プロキシ設定を変更したら、Windows Updateサービスを再起動します。

Restart-service wuauserv

WinHTTP用のプロキシを指定した後、Windows Server 2016はMicrosoft Updateサーバーからの更新プログラムを正常にダウンロードできるようになります。

Windows 10でも同様の問題が発生する

この問題は、Windows 10のRTM版(Windows Updateエージェント バージョン10.0.14393.0)でも同様に発生します。

補足:Microsoft Update Catalogから2016年11月以降にリリースされた最新の累積更新プログラムを手動でダウンロード・インストールすれば、WinHTTPプロキシを設定しなくても更新プログラムは正常に適用されます。Microsoftの情報によると、このバグはWindows Updateエージェント10.0.14393.187以降で修正されています。

注意:認証付きプロキシサーバーは非対応

さらに、認証を要求するプロキシサーバー経由では更新プログラムを取得できない点にも注意が必要です。Windows Updateクライアントはプロキシ認証に対応していません(PowerShellとは異なります)。Windows Updateを正しく動作させるには、プロキシサーバー側でMicrosoft Updateサーバーへの匿名アクセスを許可してください。許可が必要なURLの一覧は以下の通りです。

  • *.microsoft.com
  • microsoft.com
  • *.windowsupdate.com
  • windowsupdate.com
  • *.trafficmanager.net
  • trafficmanager.net
  1. Windows 8.1 / Windows Server 2012 R2対応のKMSアクティベーションサーバー構築手順

    Windows 8.1およびWindows Server 2012 R2の正式リリースから約4ヶ月が経過し、システム管理者にとっては、これらの新OSを完全にサポートできるようITインフラを更新する絶好のタイミングとなっています。本記事では、旧バージョンのWindows上で稼働している既存のKMS(Key Management Service)サーバーにおいて、Windows 8.1およびWindows Server 2012 R2のKMSアクティベーションに対応させる方法について詳しく解説します。旧KMSサーバーで発生するアクティベーションエラーすでにKMSサーバーを運用している環境で、新しい

  2. 【修正方法】Windows 7で更新プログラムがダウンロードされない・0%で止まる問題の解決策

    Windows 7はかなり古いOSですが、その設計の良さから今でも多くのユーザーが新しいOSを導入せずに使い続けています。しかし年月が経つにつれ、Windows 7向けの更新プログラムを入手するのは難しくなり、MicrosoftもかつてほどこのOSに十分な注意を払わなくなっています。Windows 7の更新プログラムが正しくダウンロードされない場合は、この記事で紹介する方法を試して問題を修正しましょう。よくある症状としては、「更新プログラムのダウンロード」画面が0%のまま固まってしまうというものです。さっそくこの問題を解決していきましょう。対処法に進む前に、まずインターネット接続が従量制課金接