为什么 Win10 节点可以使用 WSUS 签入但无法提取更新(0x8024401c)

为什么 Win10 节点可以使用 WSUS 签入但无法提取更新(0x8024401c)

我有一台运行 WSUS(WID 数据库)的 Windows Server 2016。我的系统上的节点都是 Windows 10 Professional。它们通过组策略配置为检查 Server 2016 是否有更新。节点和服务器根本不在代理后面。

根据 WSUS 控制台,当我按下“检查更新”时,它显示所有节点都在签入。当您查看节点时,它会抛出以下消息:

安装更新时出现一些问题,但我们稍后会重试。如果您继续看到此信息并想在网上搜索或联系支持人员获取信息,这可能会有所帮助:(0x8024401c)

我用 Google 搜索过这个错误,但发现几乎没有任何信息可以解决此错误。我尝试了所有能找到的建议,但都没有解决这个问题。当我用 Word 打开最后一个 .ELT 文件时,我得到的结果是:

与端点通信时出错http://FQDN:8530/ClientWebService/client.asmx。接收 HTTP 回复时出错。操作未在规定时间内完成。

当我在 PowerShell 中执行操作时,Get-WindowsUpdateLog我只得到一长串无法找到的更新。没有实际的通信信息。

如果我将其放入浏览器并且防火墙没有阻止 WSUS,我就可以访问该链接。我遗漏了什么?有人可以提供任何其他信息给我吗?我还在学习如何使用正确的程序实际读取 ELT 文件。

编辑1:尝试在客户端上运行 Characters 和 WDK10 以更好地解释 ELT 文件。

编辑2:运行该tracefmt.exe工具出现以下错误:

无法打开日志文件进行读取

每个人都会遇到这种情况。我确实从 SDK 工具包的 TraceView 中看到,所有事件都显示系统时间,并且未找到格式信息。它是否已连接但未获取此数据,还是只是在寻找所有这些更新?

答案1

我对 WSUS 页面的 IIS 应用程序池进行了以下更改:

  • 队列长度:25000从 10000
  • 限制间隔(分钟):15从 5
  • “服务不可用”响应:TCP级别来自 HttpLevel
  • 私有内存限制 (KB):0来自 18342456

这使得 Windows 10 需要更长的时间来连接和检查更新,重置所有机器的连接并允许更多内存来处理更新,这是我在谷歌搜索中找到的建议。

答案2

我的所有 Windows 10 1607 和 Server 2016 1607 都出现错误 0x8024401c。

一些 IIS 应用程序池调整技巧没有帮助。

在 WSUS 服务器上运行 Adamj 的“Clean-WSUS”PowerShell 3 脚本解决了该问题:

http://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus

https://community.spiceworks.com/topic/1970827-wsus-on-server-2016-windows-10-1607-client-0x8024401c-error

答案3

在 WSUS 页面的 IIS 应用程序池中进行了以下更改:

  • 队列长度:25000从 10000
  • 限制间隔(分钟):15从 5
  • “服务不可用”响应:TCP级别来自 HttpLevel
  • 私有内存限制 (KB):0来自 18342456

2017 年 8 月 28 日 - KB4039396 ( OS Build 14393.1670)

改进和修复:

  • 解决了 WSUS 更新元数据处理的问题,该问题可能导致某些客户端超时并出现 0x8024401c 错误。

  • 增加 ASP.NET 超时

  • 复制\Program Files\Update Services\WebServices\ClientWebService\Web.Config

  • 打开\Program Files\Update Services\WebServices\ClientWebService\Web.Config

  • 找到元素“ <httpRunTime”。它看起来像这样(未修改的web.config): <httpRuntime maxRequestLength="4096" />
  • 通过添加executionTimeout属性来修改httpRunTime: <httpRuntime maxRequestLength="4096" executionTimeout="3600" />
  • 将 web.config 保存到其他位置,并将修改后的内容复制到目录中。
  • 从提升的命令提示符下,运行 IISReset 以重新启动 IIS。
  • 监控 WSUS 元数据缓存

IISReset 后必须非常耐心,并强制一些客户端联系 WSUS,以便重建缓存。缓存大小稳定后,它将正常工作

答案4

我创建了一个全新的 Windows 2016 域,添加了几个成员服务器,并将其中一个服务器设置为 WSUS 角色,只是为了试用一下。配置 GPO 并让其中一个服务器检查更新后,WSUS 持续崩溃,错误代码为 0x80244022,我猜这意味着工作进程崩溃了,服务不可用。无论我尝试多少次,结果都一样。我只需要将应用程序池回收设置中的私有内存限制从 1800 MB 更改为 4,096 MB,重新启动应用程序池,问题就解决了!然后我看到单个 Windows 2016 服务器在其初始扫描中最多可以使用该应用程序池的 2.5 GB。所以基本上,Windows 2016 WSUS 应用程序池默认值已经过时,需要更新。

相关内容