Quand on veut faire du ménage sur son WSUS et également dans la base de ce dernier, il peut s'avérer utile de supprimer les KB dont le statut est "IsDeclied".
Pour réaliser cela rien de plus simple que quelques lignes de Powershell et de la patience (beaucoup de patience si ça fait longtemps que cela n'a pas été fait).
Connexion
# Define Server Name
$WsusServer = "Mon-Server-WSUS"
# Define connection port
$WsusPort = "8530"
# Initiate Connection
[void][reflection.assembly]::loadwithpartialname("microsoft.updateservices.administration")
$Wsus = [microsoft.updateservices.administration.adminproxy]::getupdateserver($WsusServer,$false,$WsusPort)
# Verifying connection (Should be return the name of the wsus server)
$Wsus.name
Définition des Updates à supprimer
# List All Kb in WSUS database
$AllKb = $Wsus.GetUpdates()
# Filter on "IsDeclined" status
$IsDeclined = $AllKb.Where({$_.IsDeclined -eq $True})
Suppression des KB
# Delete KB
$IsDeclined | foreach {
# Define Current Id
$Id = $_.Id
Try {
$Wsus.DeleteUpdate($Id.UpdateId.ToString())
}
Catch {
Write-Warning $($_)
}
# Release variable
$Id = $null
}
Cette commande est un peu longue mais si elle est exécutée régulièrement, la purge dure moins longtemps.