Supprimer les pilotes inutilisés de WSUS

Je dois pas être le seul à qui ca arrive, j’ai voulu voir ce qu’il y avait dans la catégorie « Pilotes » de WSUS et j’ai eu la suprise de récupérer 70000 fichiers de mises à jour, ingérable donc.
Cela générait beaucoup de lenteur dans les autres catégories

J’ai donc décocher cette catégorie et lancé l’assistant de nettoyage en imaginant qu’il allait tout supprimer
Erreur ! Il n’a rien fait du tout, me laissant avec mes 70000 mises à jour de pilotes sur les bras

J’ai donc fait des recherches et après quelques essais de scripts powershell sans succès je suis tombé sur celui ci qui m’a sorti du pétrin :

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
$wsus.getupdates() | Where {$_.UpdateClassificationTitle -eq 'Drivers'} | 
ForEach-Object { $wsus.DeleteUpdate($_.Id. UpdateID); Write-Host $_.Title removed }

Il va vous supprimer un par un toutes vos mises à jours de pilotes
Si certains pilotes ont été appliqués vous aurez une erreur, mais la plupart j’imagine seront supprimés

J’espère que ce script servira à d’autres 🙂

 

Source

A lire également