在 Windows 10 及 Windows Server 2016 上配置 Windows Update 更新使用代理
Windows 更新涉及到网络的过程分为两个部分:1. 检查更新;2. 下载更新。其中 1. 检查更新部分会使用 IE 中设置的代理以及 WinHTTP 中设置的代理;而 2. 下载更新部分过去也会同时使用 IE 以及 WinHTTP 中设置的代理,但是自 Windows 10 及 Windows Server 2016 起,下载更新将会只使用 WinHTTP 中设置的代理。因此在只能通过代理访问外部网络的环境中,我们要么配置好 WinHTTP 使用代理,要么在内部网络中配置 Windows Update 更新服务器,才能正常使用 Windows 更新。
配置 WinHTTP 使用代理
配置 WinHTTP 使用代理,需要使用管理员权限运行 cmd.exe 或者 PowerShell,执行以下命令手动配置代理:
netsh winhttp set proxy ProxyServerName:PortNumber
注意配置 WinHTTP 代理时,不需要填入 http://
等协议字段。
或执行以下命令以从 IE 导入代理设置:
netsh winhttp import proxy source=ie
如不再需要使用代理,则执行:
netsh winhttp reset proxy
如需查看当前代理,执行:
netsh winhttp show proxy
检查 Windows 更新服务器地址
要想确认当前 Windows 是否使用了自定义的 Windows Update 更新服务器,以及自定义 WSUS 服务器地址的话,可以检查注册表。
-
检查注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
下的WUServer
及WUStatusServer
值,类型为 REG_SZ,内容为自定义的 WSUS 更新服务器地址。 -
检查注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
下的UseWUServer
值,类型为 REG_DWORD,1
表示使用自定义的WUServer
及WUStatusServer
,0
则表示使用微软的更新服务器。
注:若变更了注册表中的配置,需重启系统或重启 Windows Update (wuauserv) 服务后方可生效。
注:如果在更换 Windows Update 更新服务器后,更新报 80072EE2 错(如下图所示),请确认在注册表中配置了正确的服务器地址及端口。
Windows Update 命令行
打开 Windows Update 界面
- Windows 10 / Windows Server 2016:
ms-settings:windowsupdate
- 其他版本 Windows:
wuapp
检查更新
- Windows 10 / Windows Server 2016:
UsoClient StartScan
- 其他版本 Windows:
wuauclt /detectnow
参考文档
- Windows Update stuck at 0 percent on Windows 10 and Windows Server 2016
- Registry keys for configuring Automatic Updates & WSUS · vFense/vFenseAgent-win Wiki
-
How to configure automatic updates by using Group Policy or registry settings
- In Windows 10, is there a command similar to wuapp.exe that will launch the Windows Update GUI? - Super User
- Command Line Equivalent of wuauclt in Windows 10 / Windows Server 2016
- Run Windows Update from command-line / manually cause update check