Approuver, rejeter les mise à jours et nettoyer WSUS

Microsoft a intégré dans WSUS un outil de nettoyage car, comme la base de registre, la base d’update grossi de manière exponentielle.
wsus-cleaning
On peut aussi faire nettoyage, l’approbation et le rejet de mise à jour via Powershell

Je ne vous expliquerais pas comment faire un script PowerShell, je n’ai pas la prétention d’être un développeur PowerShell, à la limite un Power USer.

Avec PowerShell pour travailler avec WSUS, il vaut mieux importer le module UpdateServices.
PVI (Pour Votre Information) ce module est disponible sur Windows 2012 et supérieur ainsi que Windows 10.

Par exemple, j’ai intégré cette ligne dans mon script PowerShell :

Import-Module -Name UpdateServices

Après avoir importer le module, on peut le tester :

Get-Command -Module UpdateServices

wsus-cleaning2

Il y a 12 cmdlets qui sont totalement exploitable selon ses besoins.

wsus-cleaning3

On peut aussi avoir les information à propos de son Serveur WSUS. Pour cela, il suffit d’utiliser la cmdlet Get-WSUSServer.
Normalement en local Get-WSUSServer donne ça :

wsus-cleaning4

Mais ça peut aussi faire l’affaire :

Get-WSUSServer -Name REMPLACER_PAR_LE_NOM_DE_ServerWSUS -Port 8530

wsus-cleaning5

On peut avoir le status des ordinateurs clients du WSUS avec Get-WsusComputer

wsus-cleaning6

On peut ainsi, par exemple, connaitre le status des ordinateurs qui ont échoué des mises à jours
Get-WSUSComputer -ComputerUpdateStatus Failed

wsus-cleaning7

Si vous faites appel à Get-WSUSUpdate sans rien mettre en option, cela vous donne toutes les mises à jours disponible.

En spécifiant –Approval de Unapproved avec –Status Needed on rapatrie les mise à jours approuvable au statut « needed ».

Get-WsusUpdate -Approval Unapproved -Status Needed

Approving Updates from WSUS
We can then make use of Approve-WSUSUpdate by passing each of the updates found using Get-WSUSUpdate into this cmdlet to ensure that these updates will be available for installation on the systems that require them.

Pour approuver les mises à jours. On peut passer cette commande

Get-WsusUpdate -Approval Unapproved -Status Needed | Approve-WsusUpdate -Action Install -TargetGroupName 'All Computers'

Et si on veut voir ce que cela va donner sans réellement l’appliquer on utilise -WhatIf

Get-WsusUpdate -Approval Unapproved -Status Needed | Approve-WsusUpdate -Action Install -TargetGroupName 'All Computers' -WhatIf

Pour refuser les mises à jours

Get-WsusUpdate -Approval Unapproved -Status Any | Where {$_.update.title -match "Language"} | Deny-WsusUpdate –Verbose

Pour nettoyer le serveur WSUS

Invoke-WsusServerCleanup -CleanupObsoleteComputers -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates

Pour ma part, j’ai modifié un script que j’avais trouvé sur le TecNet Center de Microsoft, et qui se trouve sur GitHub https://github.com/theodiousolivetree/deployadmin_scripts/blob/master/approve-reject_updates

Publicité
Cet article, publié dans PowerShell, scripts, Server 2016, Tips, Windows 10, Windows Server, wsus, est tagué , , , , , , , , , , , , , , , . Ajoutez ce permalien à vos favoris.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s