15/11/2024

Gérer le service Windows Update avec « PSWindowsUpdate »

Sur les postes clients, c’est le service Windows Update qui a en charge la gestion des mises à jour, que ce soit pour rechercher les mises à jour auprès du serveur WSUS, ou pour installer les mises à jour et planifier le redémarrage.

Pour bien gérer le service Windows Update des postes de travail et serveurs en ligne de commande, je vous recommande le module PowerShell nommé « PSWindowsUpdate » : il compte plus de 167 millions de téléchargements.

Ce module sert à rechercher, installer et désinstaller les mises à jour, mais également à afficher la configuration de Windows Update, à afficher l’historique des mises à jour et à réinitialiser le composant Windows Update. Voilà pour ses fonctionnalités principales, car, comme vous le verrez ci-dessous, il intègre un grand nombre de commandes.

I. Installation du module PSWindowsUpdate

Ce module est disponible sur le site PowerShell Gallery et il s’installe avec la commande suivante :

Install-Module -Name PSWindowsUpdate -Force

Ce module fonctionne avec Windows PowerShell et PowerShell, y compris PowerShell 7. Une fois l’installation terminée, vous pouvez lister les commandes disponibles dans ce module :

Get-Command -Module PSWindowsUpdate

Module PSWindowsUpdate

II. Exemples d’utilisation de PSWindowsUpdate

Difficile d’être exhaustif sur les possibilités d’utilisation de ce module compte tenu de la quantité importante de commandes qu’il contient. Néanmoins, voici quelques exemples d’utilisation.

  • Afficher la configuration du service Windows Update

Tout d’abord, nous pouvons nous assurer que notre machine cliente est bien configurée pour utiliser le serveur WSUS, qu’elle est bien associée au bon groupe WSUS, etc… La commande ci-dessous donne des informations très intéressantes sur la configuration du service Windows Update.

Get-WUSettings

Get-WUSettings - Exemple

Dans l’exemple ci-dessus, on constate que l’ordinateur « PC-01 » s’appuie sur le serveur « srv-wsus.it-connect.local » au travers d’une connexion HTTPS et qu’il est intégré au groupe « PC » du serveur WSUS. Tout cela est conforme à la configuration établie précédemment.

Note : les commandes du module PSWindowsUpdate intègrent un paramètre nommé « -ComputerName » qui permet d’interroger un ordinateur à distance. Ainsi, on peut imaginer déclencher une installation de mises à jour à distance sur une ou plusieurs machines. Cette fonctionnalité s’appuie sur WinRM, qui doit être configuré en amont (par GPO, par exemple).

  • Lister les mises à jour disponibles

S’il y a des mises à jour disponibles, elles seront listées. Si une mise à jour devait être disponible, mais qu’elle ne s’affiche pas, vérifiez qu’elle soit bien approuvée sur le serveur WSUS.

Get-WindowsUpdate
  • Installer toutes les mises à jour en attente sur la machine :

Cette commande va télécharger et installer l’ensemble des mises à jour disponibles pour cette machine, en procédant au redémarrage automatique (si nécessaire).

Install-WindowsUpdate -AcceptAll -AutoReboot

Installation des mises à jour avec PSWindowsUpdate

  • Un redémarrage est-il en attente ?

Dans de nombreux cas, l’installation des mises à jour implique un redémarrage du système. Cette commande sert à vérifier s’il y a un redémarrage en attente ou non.

Get-WURebootStatus
  • Afficher l’historique des mises à jour installées

Cette commande affiche un historique complet des mises à jour avec l’état de l’installation, la date et l’heure, ainsi que le nom de la mise à jour.

Get-WUHistory

Get-WUHistory - Exemple

  • Désinstaller une mise à jour de Windows

Pour désinstaller une mise à jour, il suffit de spécifier son ID de KB. Voici un exemple avec la KB « KB015013 » :

Remove-WindowsUpdate -KBArticleID KB015013
  • Réinitialiser le composant Windows Update

Bien que ce soit une opération radicale, il arrive que le service Windows Update soit très capricieux ! Une erreur s’affiche et vous ne parvenez pas à la corriger ? Dans ce cas, la réinitialisation du composant Windows Update peut s’avérer utile !

Cette commande supprime le cache local de Windows Update, réenregistrer les librairies (DLL), supprimer les logs, etc… Ce qui permet de repartir à zéro au niveau du service Windows Update.

Reset-WUComponents -Verbose

Le module PSWindowsUpdate est très complet pour gérer les mises à jour sur un poste à partir de PowerShell ! Un must have pour interagir avec Windows Update en ligne de commande ! Ne vous en privez pas.

eBook WSUS sur Windows Server 2022

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Gérer le service Windows Update avec « PSWindowsUpdate »

  • Bonjour merci pour l’article,
    A Partir de mon poste admin je parviens à avoir les informations via WUSettings mais lorsque je veux obtenir les informations d’un autre poste ou de l’un de mes serveurs j’obtiens l’erreur:
    Get-WUSettings : Le chemin réseau n’a pas été trouvé.
    Au caractère Ligne:1 : 1
    + Get-WUSettings -ComputerName nom_machine.nom_domaine.com
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Get-WUSettings], IOException
    + FullyQualifiedErrorId : System.IO.IOException,PSWindowsUpdate.GetWUSettings

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.