在WSUS下從Win10 1803更新到1809的問題解決。 ...
問題現象:
客戶端是Win10 1803,希望通過WSUS更新伺服器進行升級到目前最新的發行版Win10 1809,然而過程並不順利,在閱讀更新日誌後,可以看到大量關於下載資源不正常的報錯。
日誌路徑,"C:\Windows\SoftwareDistribution\ReportingEvents.log" 。
關於錯誤信息的摘要,紅色的高亮信息是典型的文件下載異常(0x8024200)代碼
- l {1F33AACA-5431-423D-9D5D-8385CD39AEB5} 2019-02-18 08:45:12:250+08001 181 [AGENT_INSTALLING_STARTED] 101{440669BC-73A4-43C4-80EF-61FCE01F88EE} 2010 UpdateOrchestratorSuccessContent Install Installation Started: Windows has started installing the following update: 針對 Windows 10 功能更新 (企業版),版本 1809,zh-cn x64 lrAkKmIW60y+eJoM.1.1.6.1.1.0
- l {320D706D-8834-48A2-AE0B-CE33F5B73D81} 2019-02-18 08:45:35:100+08001 182 [AGENT_INSTALLING_FAILED]101{440669BC-73A4-43C4-80EF-61FCE01F88EE} 2018024200d UpdateOrchestratorFailureContent Install Installation Failure: Windows failed to install the following update with error 0x8024200d: 針對 Windows 10 功能更新 (企業版),版本 1809,zh-cn x64. lrAkKmIW60y+eJoM.1.1.6.1.3.0
- l {0885A413-4565-4F2A-9666-EDF81FA1EC89} 2019-02-18 08:45:35:390+08001 181 [AGENT_INSTALLING_STARTED] 101{C30C062E-6905-42CD-839C-084B3D54EE61} 2000 UpdateOrchestratorSuccessContent Install Installation Started: Windows has started installing the following update: 針對 Windows 10 功能更新 (企業版),版本 1809,zh-cn lrAkKmIW60y+eJoM.1.2.6.1.1.0
- l {6A9966A2-0A32-4203-80DA-F6C6C177A835} 2019-02-18 08:45:53:813+08001 182 [AGENT_INSTALLING_FAILED]101{C30C062E-6905-42CD-839C-084B3D54EE61} 2008024200d UpdateOrchestratorFailureContent Install Installation Failure: Windows failed to install the following update with error 0x8024200d: 針對 Windows 10 功能更新 (企業版),版本 1809,zh-cn. lrAkKmIW60y+eJoM.1.2.6.1.3.0
解決問題:
針對這種下載問題,首先需要確定這個文件是否存在於WSUS更新伺服器上,但是如何知道是那個文件呢?
本例我使用 HTTPNetworkSniffer網路嗅探工具捕獲關於HTTP協議的請求,工具運行在Win10 1803上,使用更新操作後沒多久就抓到了404返回的錯誤信息。
圖 1在某個路徑下的esd文件無法下載/Content/79/A4991F267F93943292DAD5C66EAA4796BD859279.esd
因為UserAgent是Microsoft-Delivery-Optimization/10.0 想排查一下是不是更新代理的問題,通過複製URL到瀏覽器中下載,依舊得到404的報錯信息。
圖 2使用瀏覽器下載依舊報錯404,此時的User Agent 已經是Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36
通過上述信息,可以明確更新伺服器的設置出現了問題。
由於更新伺服器是Win2012R2,這個版本的伺服器IIS是8.5,預設並不支持這個叫做esd的文件擴展名,因此需要在IIS管理控制臺中添加這個擴展名,用於支持該類型文件的下載動作。
圖 3缺少esd擴展名的IIS8.5
圖 4使用添加功能,增加一個esd文件擴展名,MIME類型使用application/vnd.ms-cab-compressed 即可
最後在Win10 1803 客戶機上再次更新,順利開始下載操作,問題得到解決。
圖 5使用嗅探工具瞭解到的esd文件下載情況,都已經是正常的200
問題總結:
1、由於esd屬於新型文件擴展名,低於Win2016的系統是不存在於配置這個文件擴展名的,因此這個MIME類型是從Win2016的IIS10上複製出來的。
2、官方在Win2012R2的KB 3159706中有提到關於ESD文件解密的操作,其中需要安裝眾多補丁來支持,本例涉及到的伺服器恰巧沒有安裝這些補丁,後續可以參考這個KB 進行修補,但強烈建議更新到WSUS10,也就是對應的Win2016版的系統。
3、這種問題在服務端不會存在任何錯誤(但是會記錄),所有的錯誤展示都來自於客戶端(更直觀),因此收集客戶端日誌是必要的操作。
-=EOB=-