Quando fate la prima installazione e configurazione di un server WSUS vengono scaricati da Windows Update le varie informazioni sulle patch da installare.
Attenzione perché vengono scaricati i meta-data della patch. Ma l'update vero e proprio viene scaricato sul server solo se approvate la patch stessa.
Molte patch possono essere "superseded" e cioè sostituite da patch più recenti.
Ci possono essere, ad esempio, 6000 patch da scaricare ma 4000 di queste sono appunto "superseded".
Se quindi facessimo un'approvazione manuale o anche automatica bisognerebbe evitare di scaricare le patch "superseded" altrimenti si andrebbe a consumare un enorme quantità di spazio disco scaricando aggiornamenti che in realtà sono inutili perchè sostituiti da aggiornamenti più recenti.
Basterebbe quindi approvare gli aggiornamenti più recenti.
Quindi, per pulire correttamente il server WSUS e evitare di scaricare i superseded update è sufficiente eseguire in PowerShell il seguente script che imposta come "Decline" i "superseded" update
#Change server name and port number and $True if it is on SSL
$Computer = $env:COMPUTERNAME $Domain = $env:USERDNSDOMAIN $FQDN = "$Computer" + "." + "$Domain"
[String]$updateServer1 = $FQDN [Boolean]$useSecureConnection = $False [Int32]$portNumber = 8530
# Load .NET assembly
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$count = 0
# Connect to WSUS Server
$updateServer = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($updateServer1,$useSecureConnection,$portNumber)
write-host "<<<Connected sucessfully >>>" -foregroundcolor "yellow"
$updatescope = New-Object Microsoft.UpdateServices.Administration.UpdateScope
$u=$updateServer.GetUpdates($updatescope )
foreach ($u1 in $u )
{
if ($u1.IsSuperseded -eq 'True')
{
write-host Decline Update : $u1.Title
$u1.Decline()
$count=$count + 1
}
}
write-host Total Declined Updates: $count
trap
{
write-host "Error Occurred"
write-host "Exception Message: "
write-host $_.Exception.Message
write-host $_.Exception.StackTrace
exit
}
# EOF
In questo modo otteniamo 3 vantaggi:
1) abbiamo ridotto la quantità delle patch Needed andando ad eliminare le patch "Superseded"
2) ottimizziamo lo spazio disco consumato da WSUS per scaricare gli aggiornamenti
3) la gestione delle patch su WSUS è più pulita e lineare perchè vediamo e approviamo solo le patch più recenti che sostituiscono quelle meno recenti
Se vuoi saperne di più, iscriviti al Live Webinar su Microsoft WSUS che trovi qui
Comments