Windows

Windows Server 2016 未通過 WSUS 更新

  • June 11, 2020

我們有一個在 Windows Server 2016 上執行的 WSUS 伺服器。WSUS 檢測並向所有系統發送更新,包括 2012 伺服器。WSUS 將檢測但不會向任何 2016 伺服器發送更新。

它顯示需要 0 個更新,所有更新都顯示“已安裝或不適用”。這些是全新的伺服器安裝,它們剛剛從去年 11 月創建的磁碟映像直接安裝。

如果我在其中一台伺服器上執行報告並將產品過濾器設置為“Windows Server 2016”,則會安裝或不適用 31 個更新。

所有 31 個更新都設置為批准“安裝”。所有這些的狀態都是“不適用”它們都是關鍵更新和安全更新。

我已經手動檢查了其中一台伺服器上已安裝的更新,並確認未安裝這些“不適用”的更新。

所有這些伺服器都是全新安裝的,它們位於一個 OU 中,防止它們在更新安裝後重新啟動,我是唯一手動重新啟動它們的人。自安裝以來,它們已獲得 0 個更新。我很難相信全新的 Windows Server 2016 安裝有 0 個適用的更新。

我已確保 BITS 和 Windows 更新服務正在執行。我已經執行了 wuauclt /reportnow 和 wuauclt /detectnow。它似乎沒有做任何事情。我已執行清理嚮導以拒絕並刪除所有被取代的更新。我已驗證機器在 AD 和 WSUS 中的正確組中。我已經在受影響機器上的系統資料庫中驗證了它們指向 WSUS 伺服器並且可以 ping 通。可以從 WSUS 伺服器 ping 客戶端。沒有防火牆或埠阻止程序或類似的東西。我創建了一個全新的 2016 伺服器安裝,上面沒有安裝任何東西;沒有角色,沒有防火牆,沒有病毒掃描程序,沒有任何東西,只是一個空白伺服器並試圖強制它連接。WSUS 檢測到伺服器存在,​​但僅此而已。

其他所有作業系統都可以正常工作,只有 2016 年的伺服器存在此問題。這絕對是 WSUS 伺服器問題;如果我進入系統資料庫並將其更改回 Microsoft 伺服器,它會找到更新。

有誰知道可能導致問題的原因以及如何解決?

謝謝。

編輯-更新:仍然有問題。嘗試安裝第二台 2016 WSUS 伺服器,同樣的問題,僅適用於 2016 伺服器。

我什至嘗試安裝 2019 伺服器(儘管我認為沒有任何區別……)。沒有不同。

我什至排除了組策略。我將一個 2016 年的測試伺服器單獨放在一個 OU 中,並阻止繼承。我連結的唯一 GPO 是指向 2019 伺服器的 WSUS 伺服器設置。該機器沒有獲得任何其他策略。測試 2016 伺服器上甚至沒有配置病毒掃描程序或防火牆,它們甚至位於同一網段。

從 2012 年到 2016 年,我們正在轉換越來越多的伺服器,這意味著這越來越成為一個問題,因為它們都不會從 WSUS 獲得更新……儘管我不想這樣做,但我將擁有打電話給微軟…

好的,在與 Microsoft 的技術支持部門合作 3 週後,我們已經解決了這個問題。

問題在於雙掃描嘗試連接到 Windows 更新(線上)並失敗。當它失敗時,系統會停止嘗試並拒絕連接到 WSUS。

增加的問題是伺服器安裝媒體中有一個錯誤,它會阻止雙掃描發生變化。它只是忽略策略並保留預設更新源 Windows 更新。

以下是您必須做的修復它:在有問題的伺服器上的 Powershell 中執行以下命令

$MUSM = New-Object -ComObject "Microsoft.Update.ServiceManager"
$MUSM.Services | select Name, IsDefaultAUService

你會得到這樣的東西:

Windows Update Standalone Installer - False   
Windows Server Update Service - False   
Windows Update - True

如果它顯示“Windows Update - True”那麼這是您的預設來源,無論您的 GPO 說什麼…

您要做的第一件事是確保在您的伺服器上安裝了以下更新檔。

kb4103720 和 kb4462928

你需要他們兩個。它們都很大,安裝都需要很長時間和一天的時間,而且都需要重新啟動伺服器。

這些 KB 修復了雙重掃描問題,因此伺服器將響應 GPO,告訴它使用哪個預設源。

現在您需要配置組策略來告訴伺服器只使用 WSUS 伺服器。根據 Microsoft,這些是必需的設置(我對其中的一些設置持懷疑態度,但我還沒有測試過每一個……我很高興這件事終於奏效了)

電腦配置 > 策略 > 管理模板 > 系統 > 設備安裝

指定設備驅動程序源位置的搜尋伺服器

Set to "Enabled"  
Select search order: "Do not search Windows Update"

指定設備驅動程序更新的搜尋伺服器

Set to "Enabled"  
Select Update Server: "Search Managed Server"

電腦配置 > 策略 > 管理模板 > 系統 > Internet 通信管理 > Internet 通信設置

關閉對所有 Windows 更新功能的訪問(在 Microsoft 中,這意味著他們的線上伺服器,而不是“製作因此無法獲取更新”)

Set to "Enabled"

關閉對商店的訪問

Set to "Enabled"

電腦配置 > 策略 > 管理模板 > Windows 組件 > Windows 更新

不允許更新延遲策略導致對 Windows 更新的掃描

Set to "Enabled"

對於計劃的自動更新安裝,登錄使用者不會自動重啟

Set to "Enabled"

指定 Intranet Microsoft 更新服務位置

Set to "Enabled"  
Set the intranet update service for detecting updates: "http://[YOUR SERVER]:8530"  
Set the intranet statistics server:"http://[YOUR SERVER]:8530"  
Set the alternate download server: "http://[YOUR SERVER]:8530"  
Uncheck the box Download files with no Url in the metadata if alternate download server is set

將您的伺服器移動到啟用此 GPO 的 OU 中。我在我的伺服器 OU 中為 2016 伺服器創建了一個單獨的 OU,並將此 GPO 連結到它。

再次執行上述 powershell 命令。

現在應該說

Name                                   IsDefaultAUService    
-------                                 --------------------------  
Windows Server Update Service              True  
Windows Update                             False

如果你得到“Windows Server Update Service”True,那麼它應該可以工作!

我希望這對其他人有幫助。這無疑是一個令人沮喪的問題……

我接受無標記紙幣、金條和蘇格蘭威士忌的捐贈。

引用自:https://serverfault.com/questions/857607