Windows Update 更新 WSUS 出现 0x80244007 错误

  公司内每台 Windows 在执行 Windows 更新时,出现 0x80244007 错误。Google 后,0x80244007 通常是客户端向 WSUS 的客户端 Web 服务查询更新时,WSUS 返回 SOAP Fault 所造成。

Microsoft 提供的第一个处理方式,是修改 WSUS 服务器上的 web.config。

1. 至下列路径开启 web.config:

C:\Program Files\Update Services\WebServices\ClientWebService\web.config

搜索:

<add key="maxInstalledPrerequisites" value="400"/>

修改为:

<add key="maxInstalledPrerequisites" value="800"/>

修改后执行:

iisreset

不过修改后,Windows Update 仍然出现相同的 0x80244007 错误。

2. 接着依照 Microsoft 文件,重置客户端的 WSUS 注册信息。

以管理员身份开启命令提示符,依次执行:

net stop wuauserv

reg Delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v PingID /f

reg Delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v AccountDomainSid /f

reg Delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f

reg Delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientIDValidation /f

net start wuauserv

wuauclt.exe /resetauthorization /detectnow

部分注册表项若原本不存在,可能会出现‘系统找不到指定的注册表键或值’,此消息可忽略。

重新执行 Windows Update 后,错误变成:

0x80244010

丢给 AI 询问后,AI 说 0x80244010 表示 Client 与 WSUS Server 的往返次数超过上限,应该是前面清掉记录后,第一次扫描要比对的东西较多,多试几次即可。重复执行数次更新扫描后,错误又回到 0x80244007。

3. 產生 Windows Update Log

以系統管理員身分開啟 PowerShell,执行:

Get-WindowsUpdateLog

執行後會在桌面產生 WindowsUpdate.log搜尋最後一筆 0x80244007然後往上找到下列錯誤

<ErrorCode>InvalidParameters</ErrorCode>
<Message>parameters.OtherCachedUpdateIDs</Message>

由此確認本次錯誤並不是 maxInstalledPrerequisites 超過限制而是 OtherCachedUpdateIDs 數量超過 web.config 中的 maxCachedUpdates 限制

4. 再次開啟 WSUS Server 的 web.config

C:\Program Files\Update Services\WebServices\ClientWebService\web.config

搜索:

<add key="maxCachedUpdates" value="22000"/>

修改为:

<add key="maxCachedUpdates" value="44000"/>

最後保留的設定如下

<add key="maxInstalledPrerequisites" value="800"/>
<add key="maxCachedUpdates" value="44000"/>

儲存 web.config 後再次執行

iisreset

重新執行 Windows Update,Already can normally connect to WSUS and check for updates。

The focus of this issue is,0x80244007 only indicates that WSUS returned a SOAP Fault,It is still necessary to check the detailed messages in WindowsUpdate.log,In order to determine which parameter actually exceeded the limit。

If the log shows:

parameters.InstalledNonLeafUpdateIDs

The main corresponding is:

maxInstalledPrerequisites

If the log shows:

parameters.OtherCachedUpdateIDs

The main corresponding is:

maxCachedUpdates

In addition,Increasing the web.config limit can only remove the current scanning limit。Subsequently, WSUS should still be regularly cleaned of expired or superseded updates,并维护 SUSDB,以避免更新中继资料持续累积。

《相关链接》

1 条留言

留下回复

您的电子邮件地址不会被公开. 必填项已标注 *

本网站使用 Akismet 来减少垃圾评论. 了解您的评论数据如何被处理.