iT邦幫忙

1

WSUS 用戶,無法更新(已解決)

這幾日,開始做內網Windows Update,卻發現一些問題,希望能一起交流解決。

前提,108年10月,整個內網段,數十台才做過Windows Update,然而,一切都沒有問題。
但是109年9月開始更新Windows Update,詭異的事情發生了。

Server 2008系列,在109年初,已經全面停止更新。
所以目前僅只有變動WSUS,下載Server2012相關更新。

非常神奇的是,WSUS下載完Server2012所有更新後,所有Server 2012以及2012 R2用戶端,卻是永無止境的「正在檢查更新」。
https://ithelp.ithome.com.tw/upload/images/20200918/20130820SwqUWp3Db2.png
一連,就是放著「正在檢查更新」好幾天,也查過網路上的所有教學試過,但是全部都沒有解決。

本來是想說,會不會是WSUS Server出現問題,系統多次打掉重建,問題同是無法解決。

其間還發現一個問題,全新安裝好的Server 2012 R2。
第一次安裝WSUS後,出現無法更新的狀況,這是之前沒有遇到過的。
WSUS報誤回報為:「webexception 基礎連接已關閉 傳送時發生未預期的錯誤」。
查詢後發現,Microsoft,已經不支援,較舊的連線技術。

於是我先將新安裝好的Server 2012 R2,做一次全面性的Windows Update。
全面更新過後發現,再次操作WSUS,已經可以正常連結,該錯誤已被排除。

測試環境:
用戶端 Server 2012 R2 ---IP 192.168.20.58
伺服端 Server 2012 R2 (WSUS) ---IP 192.168.20.101
(同系統版本、同網段、防火牆全關閉、無安裝防護軟體。)
WSUS Server 針對Server 2012 R2做全面性的下載。
https://ithelp.ithome.com.tw/upload/images/20200918/20130820ph363Enl8x.png
可是當用戶端,向WSUS做Update時,連接僅維持數十秒,便斷開了。
https://ithelp.ithome.com.tw/upload/images/20200918/20130820gmF4YDADHx.png
其間,ReportingEvents,完全沒有顯示任何記錄。
https://ithelp.ithome.com.tw/upload/images/20200918/20130820RacZZAkXK1.png

https://ithelp.ithome.com.tw/upload/images/20200922/20130820oReVyn0CKj.png

----------------------------2020/09/23更新----------------------------
測試環境:
用戶端 Server 2012 R2 ---IP 192.168.20.58
伺服端 Server 2016 (WSUS) ---IP 192.168.20.101

原用戶端不變,僅重架伺服器Server2016。
(仿內網環境,系統不做任何更新。)
WSUS安裝完後,即可透過「WSUS伺服器組態精靈」進行下載設定。
(2012 R2則不行,需要先進行本機更新Windows Update。)

測試SOP:
用戶端 停用服務 net stop wuauserv
用戶端 刪除目錄 C:\Windows\SoftwareDistribution
用戶端 啟用服務 net start wuauserv
用戶端 執行命令 wuauclt /resetauthorization /detectnow
用戶端 執行命令 wuauclt /detectnow
用戶端 執行命令 wuauclt /reportnow
用戶端 重啟電腦 shutdown -r -t 0

伺服端 刪除電腦 WSUS裡的用戶端電腦
伺服端 重啟電腦 shutdown -r -t 0

用戶端 開始進行Windows Update,一開始有跑流量,上傳、下載都有數十M在跑。
但是,問題一樣,跑沒幾十秒,用戶端就自動斷開。

用戶端 第一次下載時,會有流量,但失敗後ReportingEvents記錄148 [AGENT_DETECTION_FAILED]

第二次以後,檢查更新沒有流量,但報錯,全部都是148 [AGENT_DETECTION_FAILED]。
錯誤代碼 80244010
https://ithelp.ithome.com.tw/upload/images/20200923/20130820bEIU6PlGhe.png
2016與2012 R2,用戶端顯示都不相同:

Server 2016:迴圈,錯誤148 [AGENT_DETECTION_FAILED]。代碼 80244010。
ReportingEvents會有記錄。

Server 2012 R2:迴圈,正在檢查更新。
ReportingEvents不會有任何記錄。

Microsoft官方,跟所有網路可用資訊,都無法解決這個問題,真是太神了。

----------------------------2020/09/28解決方法更新----------------------------
我找到解答了,以下提供解決方式。

*註:Server端與用戶端,都必須執行安裝,對應系統的匯總更新。

驗證必要條件
如果您在 Windows Server 2008 R2 上使用 WSUS 3.0 SP2,您必須在 WSUS 伺服器上安裝更新 4039929 或更新版本的更新套件。

若要驗證服務器版本,請遵循下列步驟:

開啟 WSUS 主控台。
按一下伺服器名稱。
在 [一覽 > 連接 > 伺服器] 版本底下找到版本號碼。
檢查版本是否為 3.2.7600.283 或更新版本。
如果您是在 Windows Server 2012 或更新版本上使用 WSUS,您必須在 WSUS 伺服器上安裝下列其中一項安全性品質:每月匯總或更新版本匯總:

Windows Server 2012- KB4039873
Windows Server 2012 R2- KB4039871
Windows Server 2016- KB4039396

----------------------------2020/10/5更新----------------------------
好吧,測試了多天下來,問題還是一樣,沒有辨法解決。

原提供解決問題的,測試環境(Server 2012 R2更新KB4039871,是可以解決問題):
用戶端 Server 2012 R2 ---IP 192.168.20.58
伺服端 Server 2012 R2 (WSUS) ---IP 192.168.20.101
(無Windows Update)
用戶端及伺服端,都安裝好KB4039871後,用戶端,確實是可以正確向WSUS更新。
也就是說Server 2012 R2是可以解決的。

但是:
測試環境(Server 2012 更新KB4039873,是不可以解決問題):
用戶端 Server 2012 ---IP 192.168.20.58
伺服端 Server 2012 (WSUS) ---IP 192.168.20.101
(無Windows Update)
用戶端及伺服端,都安裝好KB4039873後,用戶端檢查更新時,會一直報錯。
錯誤代碼: 80244010
https://ithelp.ithome.com.tw/upload/images/20200923/20130820bEIU6PlGhe.png

又回到原點了,悲劇。

----------------------------2020/10/14已找到問題----------------------------
經過多次反復測試,發現Client更新,總是卡在特定的下載位元大小。
而正是這個位元大小,讓我找到了問題方向。

我將問題點,分為二種。
一、檢查更新時,會不斷跳出,錯誤代碼: 80244010
https://ithelp.ithome.com.tw/upload/images/20200923/20130820bEIU6PlGhe.png
找到C:\Windows\WindowsUpdate.log
關鍵字:PT WARNING: Exceeded max server round trips: 0x80244010
(要是有以上訊息,表示Windows Update有在正常工作,只是礙於受限,無法一次全部下載。)
https://ithelp.ithome.com.tw/upload/images/20201014/20130820skL8lvWYrh.png

解決辦法有兩種:
1.跳出錯誤代碼: 80244010時,無需理會錯誤訊息,不斷的再次按下檢查更新,便可接續完成所有下載,並開始Windows Update更新。

2.修改WSUS資料庫Client返回上限值:在WSUS Server安裝SQLManagementStudio,
停用服務:IIS Admin Service
停用服務:WSUS Service

開啟cmd輸入:
sqlcmd -S np:\.\pipe\Microsoft##WID\tsql\query
use susdb
go
select MaxXMLPerRequest from tbConfigurationC (可不輸入)
update tbConfigurationC set MaxXmlPerRequest = 52428800
go
exit
https://ithelp.ithome.com.tw/upload/images/20201014/201308207sWPyWmJH8.png
服務啟動:
IIS Admin Service
WSUS Service

掛載DB方式(備註用):
開啟Microsoft SQL Server Management Studio(系統管理員)
伺服器名稱:\.\pipe\Microsoft##WID\tsql\query
驗證:Windows驗證
連接
https://ithelp.ithome.com.tw/upload/images/20201014/20130820NpsaB8i3Kp.png
DB查看:
展開
資料庫 > SUSDB > 資料表 > dbo.tbConfigurationC > 在該值上點擊滑鼠右鍵 > 選取前1000個資料列 > 在結果欄向右拉動 > 找到MaxXmlPerRequest > 確認該值為52428800
https://ithelp.ithome.com.tw/upload/images/20201014/20130820lPrBDrTkLj.png

*一直卡在檢查更新,解決如下:
手動「拒絕」!所有!顯示下例訊息的更新檔:
「這個更新已由另一個更新取代。.....................................。」
https://ithelp.ithome.com.tw/upload/images/20201014/20130820KPF4uVfBr2.png

保留並「核准」!所有!顯示下例訊息的更新檔:
這個更新將取代另一個更新。.....................................。」
https://ithelp.ithome.com.tw/upload/images/20201014/20130820iJfVXqO6vc.png
*沒有顯示任何說明訊息的!所有!更新檔,也一併「核准」。

後記:
個人推斷,是由於其中一個過期的更新檔,所造成的Bug,導致Client端Windows Update檢查下載時,總是卡在正在檢查更新。
不過好在問題最終是解決了,方法則是提供給有需要的人。

1 個回答

0
runan5678
iT邦新手 1 級 ‧ 2020-09-19 12:32:24

windows server 2008和 2008 R2的停止更新的原因可能是該版本EOS,後續的更新必須要先安裝Windows Server 2008 和 2008 R2 延伸安全性更新 (ESU)的package之後,再上個啟用key就能更新了

其他的問題沒遇過...

doskey37 iT邦新手 5 級 ‧ 2020-09-28 17:11:39 檢舉

我找到解答了,不過,好像沒辦法選自己為最佳解答。

我要發表回答

立即登入回答