在开始之前,我想说我已经对这个问题做了足够的研究,而且我过去也曾向微软支持部门提出过案例,并就这个问题得出结论。这次,问题出现了意想不到的转折。
问题陈述:WSUS 无法下载更新;请参阅以下事件查看器日志和屏幕截图:
-> 错误 17-07-2018 12:29:39 Windows Server Update Services 10032 7 服务器无法下载某些更新。
-> 错误 17-07-2018 00:14:26 Windows Server Update Services 364 2 内容文件下载失败。原因:服务器不支持必要的 HTTP 协议。后台智能传输服务 (BITS) 要求服务器支持 Range 协议标头。 // 过去曾寻求 Microsoft 支持来确定问题出在代理设备的一些设置上。
源文件:/c/msdownload/update/software/secu/2018/07/pciclearstalecache_7b1e71fc5a81cd30e0a46338caa6fb1d2880f2c2.exe
目标文件:E:\WSUS\WsusContent\C2\7B1E71FC5A81CD30E0A46338CAA6FB1D2880F2C2.exe
对我来说奇怪的是,我无法理解为什么下载状态显示为已完成,因为更新本身都失败了。我多次尝试,但努力都是徒劳的。
我的观察:之前我们遇到过WSUS完全无法下载更新,甚至下载状态为零的问题。
当时,我们联系了 Microsoft 支持部门,并得出结论,我们的代理中存在一个设置,该设置具有防病毒和反恶意软件引擎的扫描功能,因此下载补丁需要很长时间或会话被终止。代理的 OEM 确认“大型且密集的文件,例如包含软件开发人员工具等的 200MB ZIP 文件,可能需要 30 多分钟才能被防病毒/反恶意软件引擎完全扫描。”在我们将 Windows 更新 URL 从代理的扫描功能中排除后,此案结案,更新已在 WSUS 中成功下载。
不幸的是,这次的情况是一样的,只是补丁在 WSUS 仪表板上显示为已下载,但在更新视图中单独显示为失败。我们已经从代理处确认,此包扫描设置已永久启用,并且不准备在没有适当理由的情况下进行更改。他们要求我们检查为什么 WSUS 中会出现这种奇怪的行为。
查询:
有人能解释一下为什么 WSUS 显示补丁下载状态的双重行为吗?我已检查 WSUSContent (E:\WSUS\WsusContent) 没有显示任何最近下载的更新。
如果我尝试从 WSUS 服务器上的浏览器执行相同操作,则文件下载时间过长。但是,它确实完成了来自同一 URl 的浏览器对话框。不幸的是,WSUS 似乎存在一些超时值,它不会等到代理设备扫描整个包。有什么办法可以强制它等待下载补丁吗?
为什么在浏览器中保持会话以下载整个包,但在 WSUS 中却不下载相同的更新?
感谢您仔细阅读整个问题。如果需要进一步了解详细信息,请告诉我。如果您能为该问题做出贡献/提出任何建议,我很乐意听取。
答案1
对于您的代理下载问题,您可以尝试在前台模式下运行 BITS。
在 powershell 中
$wsusServer = Get-WsusServer -name YourServerName -PortNumber 8530
$wsusConfig = $wsusServer.GetConfiguration()
$wsusConfig.BitsDownloadPriorityForeground = $true
$wsusConfig.save()
解决下载文件状态不一致的问题
在命令行中,浏览到
%drive%\ Program Files \更新服务\工具>
类型:
wsusutil 重置
这将重新扫描需要下载的文件。