Télécharger et installer des mises à jour Windows Update avec Powershell

Bloqueur de pub détectée - Vous bloquez l'affichage des publicités.
Pour soutenir le site, merci de bien vouloir laisser les publicités s'afficher.

Plus d'informations : Comment désactiver les bloqueurs de publicité sur un site internet.

Powershell de Windows 10 est un outil de ligne de commandes très puissant.
Avec ce dernier, vous pouvez très facilement télécharger et installer des mises à jour Windows Update.
Cela va même plus loin car vous pouvez contrôler Windows Update comme par exemple les attentes de redémarrage pour installer les mises à jour.

Cet article vous donne la plupart des commandes et cmdlets Powershell pour télécharger et installer les mises à jour Windows Update.

Télécharger et installer des mises à jour Windows Update avec Powershell
Télécharger et installer des mises à jour Windows Update avec Powershell

Introduction

Pour rechercher et installer des mises à jour PowerShell, il existe deux solutions :

  • WindowsUpdateProvider : ce groupe de cmdlets est inclus par défaut dans Windows 10 et Windows Server 2018.
  • PSWindowsUpdate : Module additionnel qui offre des fonctionnalités supplémentaires comme lister l'historique des mises à jour.

Cet article détaille ces deux groupes de commandes Powershell.

Pour lister et afficher les dernières mises à jour installées, la commande à utiliser est :

gwmi win32_quickfixengineering |sort installedon -desc
Lister et afficher les dernières mises à jour installées avec PowerShell

Télécharger et installer des mises à jour Windows Update en Powershell

WindowsUpdateProvider

Voici la liste des commandes disponibles :

  • Start-WUScan : Rechercher les mises à jour disponibles.
  • Install-WUUpdates : Télécharger et installer les mises à jour.
  • Get-WUIsPendingReboot : Indique si une mise à jour est en attente d'installer au prochaine reboot. Elle retourne True dans ce cas.
  • Get-WULastInstallationDate : Retourne la date de la dernière installation d'une mise à jour.
  • Get-WULastScanSuccessDate : Retourne la date de la dernière vérification réussie Windows Update.
  • Get-WUAVersion : Retourne la version du client Windows Update.

Rechercher les mises à jour

La commande Start-WuScan permet de rechercher les mises à jour.
Si vous ne spécifiez aucun paramètre, toutes les mises à jour qui s'appliquent au système apparaîtront dans les résultats.

Pour filtrer sur les mises à jour logicielles :

Start-WUScan -SearchCriteria "Type='Software' AND IsInstalled=0"

Mais cela peut fonctionner sur un ordinateur distant.

$u = Invoke-Command -ComputerName MonPC -ScriptBlock {Start-WUScan -SearchCriteria "UpdateId='<GUID-of-Update>' AND IsInstalled=1"} -Credential administrateur\admin

$u contient alors la liste des mises à jour disponibles.

Installer les mises à jour

Ensuite on utilise la commande Powershell Install-WUUpdates pour installer la mise à jour.

Ensuite pour installer les mises à jour en attente.

$Updates = Start-WUScan
Write-Host "Mise à jour trouvées: " $Updates.Count
Install-WUUpdates -Updates $Updates

Enfin la commande pour mettre à jour un PC distant :

$cs = New-CimSession -ComputerName MonPc -Credential Credential administrateur\admin
Install-WUUpdates -Updates $u -CimSession $cs

Le paramètre -DownloadOnly permet de télécharger la mise à jour sans l'installer.

Windows Update PowerShell Module

Installation

Par défaut PowerShell ne permet pas de contrôler Windows Update.
Mais on peut étendre ces fonctions installant le Windows Update PowerShell Module.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Import-Module PSWindowsUpdate
Plus d'informations sur la page : Autoriser l'exécutions de scripts Powershell.

Liste des commandes Powershell

Voici ensuite les cmdlets Powershell disponibles pour piloter Windows Update :

  • Download-WindowsUpdate (alias Get-WindowsUpdate -Download) : Télécharger les mises à jour
  • Get-WUList : Obtenez une liste des mises à jour disponibles qui répondent à certains critères.
  • Get-WUInstall, Install-WindowsUpdate : Télécharger et installer les mises à jour.
  • Add-WUOfflineSync : Enregistrer le service de scanner hors ligne
  • Get-WUServiceManager : Afficher la configuration de Service Manager.
  • Get-WUHistory : Obtenez une liste des mises à jour précédentes.
  • Get-WUInstallerStatus : Vérifier l'état du programme d'installation de Windows Update.
  • Get-WURebootStatus : Vérifier l'état de redémarrage de Windows Update et propose de redémarrer le PC.
  • Get-WUUninstall : Désinstaller la mise à jour.
  • Hide-WindowsUpdate (alias Get-WindowsUpdate -Hide:$false) : masquer une mise à jour.
  • Remove-WUOfflineSync : Annuler l'enregistrement du service de scanner hors ligne.

Rechercher des mises à jour

Voici la commande Powershell pour lister les mises à jour WindowS Update en attente d'installation :

Get-WUlist

Et pour lister les mises à jour d'un PC distant :

Get-WUList -ComputerName NomDeLaMachine

Installer les mises à jour

Voici la commande pour installer toutes les mises à jour :

Install-WindowsUpdate -AcceptAll

Et pour forcer le redémarrage :

Install-WindowsUpdate -AcceptAll -AutoReboot

Mais aussi pour installer des mises à jour particulières en PowerShell :

Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install

Et enfin pour exclure des mises à jour, voici la commande PowerShell :

Install-WindowsUpdate -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot

Installer une mise à jour sur un PC distant

Et si vous souhaitez installer des mises à jour de Windows Update par PowerShell sur des PC distants :

$Serveurs= "serveur1, serveur2, serveur3"
Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:\Windows\PSWindowsUpdate.log } -RunNow -Confirm:$false

Bloquer et masquer une mise à jour

$HideList = "KB4489873", "KB4489243"
Get-WindowsUpdate -KBArticleID $HideList –Hide

Enfin pour lister les mises à jour masquées :

Get-WindowsUpdate –IsHidden

Enfin pour débloquer des mises à jour, voici deux commandes Powershell différentes :

Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false
Show-WindowsUpdate -KBArticleID $HideList
Pour rappel, il existe d'autres méthodes, suivre ce tutoriel : Windows 10 : Bloquer une mise à jour sur Windows Update.

Désinstaller une mise à jour

Pour désinstaller une mise à jour avec PowerShell, on utilise Get-WUUninstall :

Get-WUUninstall -KBArticleID KBXXX

Liens

Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article Télécharger et installer des mises à jour Windows Update avec Powershell mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum