当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

作者:精品下载站 日期:2024-12-14 22:52:41 浏览:14 分类:玩电脑

Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题


我在 Windows Server 2016 (Windows 10 RTM) 上的 Windows 更新服务中发现了一个有趣的“功能”或“错误”。如果您没有使用内部 WSUS 服务器,并且您的操作系统必须直接从 Internet 中的 Microsoft 更新服务器进行更新,则当您通过代理服务器下载 Windows Server 2016 中的更新时,下载过程将停留在 0%(下载更新 0%)。

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

有趣的是,Windows Update 客户端已经能够发送/下载更新元数据(必要的更新列表已成功形成),但没有一个可以下载。
让我们使用 Get-WindowsUpdateLog cmdlet 创建并打开 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 http://download.windowsupdate.com/c/msdownload/update/software/defu/2017/09/nis_engine_1af0e4b80bf4028f8dac56ebf186b392e4e72486.exe to C:\Windows\SoftwareDistribution\Download\f71ddf93ec2d087c819cf75c55ddfda2af0e4b80bf4028f8dac56ebf186b392e4e72486 (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 更新错误代码的完整列表)。

事实证明,Windows Server 2016 RTM (10.0.14393) 中 Internet Explorer 的代理服务器设置与以前的 Windows 版本中的工作方式不同。为了使 Windows Update 客户端能够通过代理访问 Internet,您必须强制为 winhttp 设置系统代理。

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

显示 WinHTTP 当前的代理服务器设置:

netsh winhttp show proxy

当前 WinHTTP 代理设置:

直接访问(无代理服务器)。

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

如您所见,WinHTTP 的代理设置尚未设置。在 Internet Explorer 中的用户级别配置了代理,但未在系统级别 (WinHTTP) 中配置。此配置会导致与 Windows 更新的连接失败。

您可以按如下方式设置 WinHTTP 的系统代理参数:

netsh winhttp set proxy proxy-server="192.168.100.24:3128" bypass-list="*.a-d.site"

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

或者像这样,通过从 IE 导入设置(Internet Explorer 中的代理设置必须手动设置或提前使用 GPO 配置):

netsh winhttp import proxy source=ie

更改代理设置后,重新启动 Windows Update 服务:

Restart-service wuauserv

[玩转系统] Windows Server 2016 和 Windows 10 上的“下载更新 0%”问题

指定 WinHTTP 代理后,Windows Server 2016 开始从 Microsoft 更新服务器下载更新。

同样的问题对于 RTM 版本的 Windows 10(Windows 更新代理的 RTM 版本 - 10.0.14393.0)也很常见。

注意。如果您从 Microsoft 更新目录(2016 年 11 月之后发布)手动下载并安装最新的累积更新,即使您未设置 WinHTTP 代理,更新也会正常下载并安装。根据微软的信息,该错误已在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

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯