Nettoyage WSUS : comment libérer de l’espace disque ?
Sommaire
I. Présentation
Dans ce nouveau tutoriel, je vous propose de voir comment réaliser un nettoyage WSUS dans le but de libérer de l'espace disque sur un serveur WSUS ? Je suis à peu près sur que c'est un problème rencontré au moins une fois par les administrateurs de systèmes Windows.
Pour libérer de l'espace disque, on va s'intéresser à la quantité de mises à jour téléchargées : sont-elles réellement toutes utiles ? WSUS intègre des options de nettoyage native et nous verrons également comment aller plus loin grâce à un script de nettoyage.
De manière générale, WSUS demande de l'espace de stockage et on ne peut pas faire de miracles non plus... La capacité de stockage dont il a besoin dépends des produits que vous sélectionnez et des types de mises à jour. La première étape consiste à vérifier que vous avez bien sélectionné les produits dont vous avez besoin : cette liste doit être maintenue dans le temps. Peut-être qu'il y a deux ans vous aviez 3 serveurs en WS 2012 R2, mais aujourd'hui il n'existe plus, alors vous pouvez vous passer des mises à jour pour cet OS.
Cette vérification s'effectue à l'emplacement suivant : Options > Produits et classifications.
II. Nettoyage WSUS avec l'Assistant intégré
Commençons par découvrir les différentes options de nettoyage proposées par la console WSUS. Par défaut, un serveur WSUS va télécharger seulement les mises à jour approuvées, vous pouvez vérifier que c'est bien le cas sur votre serveur. Autrement dit, quelqu'un a-t-il modifié ce paramètre...?
Au sein de la console WSUS, cliquez sur "Options" sur la gauche puis sur "Fichiers et langues des mises à jour".
Une fenêtre va s'ouvrir, l'option "Stocker les fichiers des mises à jour localement sur ce serveur" doit être cochée, ainsi que la sous-option "Télécharger les fichiers de mise à jour sur ce serveur uniquement lorsque les mises à jour sont approuvées". Si ce n'est pas le cas, je vous recommande de cocher cette option.
Ensuite, il y a l'Assistant de nettoyage intégré à WSUS. Toujours au sein de la partie "Options", on peut y accéder en cliquant sur "Assistant de nettoyage du serveur". Différentes options sont proposées pour effectuer ce nettoyage et espérer libérer de l'espace disque. Deux options peuvent potentiellement libérer de l'espace disque : "Fichiers de mise à jour inutiles" et "Mises à jour et révisions de mises à jour inutilisées".
⭐ Lorsque vous exécutez une action de nettoyage, votre serveur WSUS plante et affiche le message "Réinitialiser le nœud du serveur" ? Vous devez augmenter la mémoire allouée au site dans IIIS - Voir cet article : WSUS - Réinitialiser le nœud du serveur
Par expérience, on constate bien souvent que le nettoyage intégré à WSUS n'est pas suffisamment efficace. Fort heureusement, il existe des scripts PowerShell complémentaires et qui sont d'une grande aide !
III. Scripts PowerShell pour le nettoyage WSUS
Nous allons utiliser un script PowerShell disponible sur mon GitHub (et initialement présent sur la Gallery Technet de Microsoft) et disponible à cette adresse : Cleanup WSUS - 1
Pour l'exécuter, il suffit de l'appeler :
.\wsus-cleanup-updates-v4.ps1
Ce script va réaliser un nettoyage WSUS afin de supprimer les mises à jour expirées, remplacées, obsolètes, et les ordinateurs inactifs. Pour éviter de surcharger le serveur, les mises à jour sont supprimées une par une.
En complément, Nick Eales de chez Microsoft a publié un script PowerShell que je vais utiliser également dans cet article. Vous pouvez récupérer le script également sur mon Github où j'héberge une copie du script officiel : Cleanup WSUS - 2
Après téléchargement, on peut lancer un nettoyage WSUS avec ce script en exécutant cette commande :
.\Decline-Updates.ps1 -WSUSServer MonWSUS -WSUSPort 8530
Que va-t-il faire comme nettoyage WSUS sur notre serveur de mises à jour ? Il va supprimer les mises à jour obsolètes, notamment qui ont plus de trois mois, et il va également supprimer :
- Toutes les mises à jour marquées comme "Expirées" par Microsoft
- Toutes les mises à jour remplacées
- Les mises à jour pour Internet Explorer 7, 8 et 9
- Les mises à jour en Japonais, Coréen ou Taïwanais
- Les packs de langue
- Les mises à jour Windows XP
- Les mises à jour en version Beta
- Les mises à jour pour les systèmes 32 bits et Itanium
Note : si vous obtenez une erreur lors de l'exécution d'un script de nettoyage WSUS, pensez à augmenter la mémoire sur votre site IIS (voir lien précédent).
Enfin, dans certains cas, il peut être intéressant de repartir avec une base de données vierge complètement sans réinstaller votre serveur. Pour rappel, j'avais écrit un tutoriel à ce sujet : WSUS - Recréer la base et les données
J'espère que ces différentes astuces vous permettront de réaliser un nettoyage WSUS efficace sur votre serveur.
Bonjour,
Merci pour cette article car sur mon serveur WSUS, le nettoyage par interface graphique plantée.
J’ai pu faire mon nettoyage par le script powershell
Encore merci
Bonjour,
Où trouver les scripts de nettoyage ?
Les liens technet ne semblent plus fonctionner…
Bonjour,
Articles sympa mais malheureusement pas maintenu à jour : impossible de récupérer les scripts power-shell qui nous semblent très intéressants !
Pierre
Hello Pierre,
Il faut que je prenne le temps de retrouver les scripts pour mettre à jour les liens, car effectivement ils ont disparu peu de temps après la mise en ligne de l’article.
Bonne journée
Florian
Bonjour Florian,
Je cherchais justement une solution à mon problème mais les scripts ne sont plus disponibles.
Ce script peut-il correspondre : https://github.com/samersultan/wsus-cleanup
Merci de ton aide
Bonne journée
Olivier
Bonjour,
merci pour cet article
cependant je cherche aussi une commande powershell pour désactiver le replica sur mon wsus
auriez-vous ca ?
par avance merci
Salut, merci pour ces infos, j’ai réussit à retrouver les scripts.
Je vous les mets à disposition ici :
https://mega.nz/file/3jJHRaxZ#lZUQjSqXMdwC1f9-N28TJ6-NCRhVoo2l1uHtoiDY-Fs
Cordialement
Finalement seul le premier script est fonctionnel : https://mega.nz/file/TzJhQSqJ#4cRi7VroFsGQjzEfevi8u8_w5YnKi6h8tvPtJ1l3J-0
Bonjour
les liens ne fonctionnent plus pourriez vous svp me fournir les scripts ?
Cordialement
Francois
Bonjour
J’ai augmenter la valeur dans IIS mais je n’ai pas arrivé à nettoyer WSUS!!!!
pouvez vous m’aider?
cordialement
Mozhdeh
Bonjour,
les scripts ne semblent pas fonctionnels :
PS C:\scripts> .\wsus-cleanup-updates-v4.ps1
At C:\scripts\wsus-cleanup-updates-v4.ps1:200 char:17
+ Sign up
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks (« & ») to pass it as part of a string.
At C:\scripts\wsus-cleanup-updates-v4.ps1:205 char:209
+ … herit p-1″>
+ ~
The ‘
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks (« & ») to pass it as part of a string.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2726 char:148
+ … ; » aria-label= »Jump to line » autofocus>
+ ~~~~
Unexpected token ‘Jump’ in expression or statement.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2768 char:153
+ … {"category":"Footer","action":"go to terms&qu …
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks (« & ») to pass it as part of a string.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2768 char:160
+ … category":"Footer","action":"go to terms",&qu …
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks (« & ») to pass it as part of a string.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2768 char:172
+ … t;:"Footer","action":"go to terms","label&quo …
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks (« & ») to pass it as part of a string.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2768 char:179
+ … t;Footer","action":"go to terms","label":&quo …
+ ~
Missing expression after unary operator ‘,’.
At C:\scripts\wsus-cleanup-updates-v4.ps1:2768 char:179
+ … t;Footer","action":"go to terms","label":&quo …
+ ~
Unexpected token ‘&’ in expression or statement.
Not all parse errors were reported. Correct the reported errors and try again.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : AmpersandNotAllowed
Salut, je fais un truc qu’il ne faut pas ou le script ne fonctionne plus ? Merci
PS C:\WSUS> .\Decline-Updates.ps1 -WSUServer WSUS2021 -WSUSPort 8530
Exception lors de l’appel de «SourceExists» avec «1» argument(s): «La source est introuvable mais certains ou
l’ensemble des journaux des événements n’ont pas pu faire l’objet d’une recherche. Journaux inaccessibles : Security,
State.»
Au caractère C:\WSUS\Decline-Updates.ps1:36 : 10
+ if ( -not [System.Diagnostics.EventLog]::SourceExists($log_source …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : SecurityException
il faut l’exécuter en admin