Update

WSUS 正在下載數百個被拒絕的舊更新

  • September 30, 2021

在不應用任何配置和設置更改的情況下,WSUS 伺服器在定期與 Microsoft 同步後開始下載從 2009 年到現在(2020 年)的數百個舊更新。它下載了超過 100 GB,我不知道這種行為的原因是什麼。我該如何處理?

這似乎是使用者之間的常見問題。使用嘗試和錯誤方法找到擺脫不需要的更新的方法對我有用。拒絕和刪除所有舊更新不會解決問題,它們會在下一次同步後返回。以下步驟解決了問題:

  1. 如果有高頻寬使用和從 WSUS 下載,請斷開 Internet。
  2. 在 WSUS 控制台中停止伺服器同步。

可能有更新仍在等待下載,如下所示:

在此處輸入圖像描述

  1. 在 Powershel 腳本下執行以取消它們。之後,下載狀態將清除,需要文件的更新將變為 0。
(Get-WsusServer).CancelAllDownloads()
Stop-Service -Name WsusService,BITS -Force
Remove-Item -Path $env:LOCALAPPDATA\Temp\* -Recurse -ErrorAction SilentlyContinue
Remove-Item -Path $env:SystemRoot\Temp\* -Recurse -ErrorAction SilentlyContinue
Start-Service -Name WsusService,BITS
  1. 在 WSUS 選項頁面中禁用“自動批准”,並確保選中僅在獲得批准時才下載更新的選項:

在此處輸入圖像描述

  1. 拒絕最近下載的所有不需要的舊更新。您可以通過按到達日期對更新進行排序,然後選擇並拒絕最近到達的所有舊更新來做到這一點。
  2. 使用下面的 Powershell 腳本刪除所有拒絕的更新。如果您拒絕了不想被刪除的更新,您可以通過修改腳本(例如按到達日期)來縮小選擇範圍:
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
$declined=$wsus.GetUpdates() | Where {$_.IsDeclined -eq $true}
$declined| ForEach-Object {$wsus.DeleteUpdate($_.Id.UpdateId.ToString()); Write-Host $_.Title removed }
  1. 執行伺服器清理。確保檢查與更新相關的所有項目。
  2. 開始同步。等到同步完成。在這個級別同步需要很長時間,一些演出會下載,所有舊的更新列表都會返回(如果沒有,祝你好運),但由於我們在第 4 級的操作,他們的文件不會下載。
  3. 重複第 5 級,但這次是“未批准”更新。
  4. 重複第 6 級。我建議在“Powershell ISE”中執行此腳本以獲取更新數量(例如 30 次更新,而不是一次全部更新),然後停止它並執行第 11 級以確保您走在正確的道路上。
  5. 重複第 7 級和第 8 級。在此級別伺服器不應再次下載舊版本。
  6. 如果您願意,將在第 4 級更改的自動批准和下載設置返回到以前的狀態。

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