Windows Update 更新 WSUS 出現 0x80244007 錯誤

  公司內每台 Windows 在執行 Windows 更新時,出現 0x80244007 錯誤。Google 後,0x80244007 通常是 Client 向 WSUS 的 Client Web Service 查詢更新時,WSUS 回傳 SOAP Fault 所造成。

Microsoft 提供的第一個處理方式,是修改 WSUS Server 上的 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 文件,重設 Client 的 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,已可正常連線 WSUS 並檢查更新。

本次問題的重點是,0x80244007 只是代表 WSUS 回傳 SOAP Fault,仍需要查看 WindowsUpdate.log 中的詳細 Message,才能判斷實際超過限制的是哪一個參數。

若日誌顯示:

parameters.InstalledNonLeafUpdateIDs

主要對應的是:

maxInstalledPrerequisites

若日誌顯示:

parameters.OtherCachedUpdateIDs

主要對應的是:

maxCachedUpdates

此外,提高 web.config 上限只能解除當下的掃描限制。後續仍應定期清理 WSUS 中已過期或已被取代的更新,並維護 SUSDB,以避免更新中繼資料持續累積。

《相關連結》

1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料