Gérer les mises à jour Windows est essentiel pour assurer la sécurité, la stabilité et la performance de votre système. Si vous êtes un administrateur système ou un utilisateur avancé, PowerShell offre une façon puissante de contrôler et d’automatiser les mises à jour de Windows, que ce soit pour vérifier, installer ou même planifier des mises à jour.
Dans cet article, nous explorerons toutes les commandes et options disponibles pour gérer les mises à jour Windows via PowerShell, en utilisant principalement le module PSWindowsUpdate.
Prérequis : Installer le module PSWindowsUpdate
Install-Module PSWindowsUpdate -Force
Import-Module PSWindowsUpdate
Vérification des mises à jour disponibles
Pour voir quelles mises à jour sont disponibles pour installation sur votre système, utilisez la commande :
Get-WindowsUpdate
Filtrage des résultats
Vous pouvez également filtrer les résultats pour afficher seulement les mises à jour critiques, par exemple:
Get-WindowsUpdate | Where-Object {$_.Title -like « Critical« }
Installation des mises à jour
Pour installer toutes les mises à jour disponibles, utilisez la commande suivante :
Install-WindowsUpdate -AcceptAll
Cela installera toutes les mises à jour sans confirmation manuelle. Vous pouvez aussi ajouter des options pour mieux contrôler le processus.
Installation sans redémarrage automatique
Si vous ne voulez pas que Windows redémarre automatiquement après l’installation des mises à jour, utilisez l’option -IgnoreReboot :
Install-WindowsUpdate -AcceptAll -IgnoreReboot
Installation et redémarrage automatique
Si vous préférez que le système redémarre automatiquement après l’installation des mises à jour (par exemple, dans le cadre d’une automatisation complète), utilisez cette commande :
Install-WindowsUpdate -AcceptAll -AutoReboot
Le système redémarrera dès que toutes les mises à jour seront appliquées.
Forcer l’installation d’une mise à jour spécifique
Si vous souhaitez installer une mise à jour spécifique en utilisant son KB (Knowledge Base) ID, vous pouvez utiliser -KBArticleID. Par exemple :
Install-WindowsUpdate -KBArticleID KB5005565
Planification des mises à jour
Il est également possible d’automatiser et de planifier des mises à jour avec PowerShell en utilisant des tâches planifiées. Par exemple, pour créer une tâche planifiée qui exécute les mises à jour une fois par semaine, vous pouvez faire appel au Task Scheduler via PowerShell.
$action = New-ScheduledTaskAction -Execute ‘powershell.exe’ -Argument ‘Install-WindowsUpdate -AcceptAll -AutoReboot’
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 3AM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName ‘WindowsUpdateTask’ -Description ‘Tâche planifiée pour installer les mises à jour chaque lundi à 3h du matin’
Afficher l’historique des mises à jour
Si vous souhaitez consulter l’historique des mises à jour, utilisez cette commande :
wmic qfe list
Annulation d’une mise à jour
Dans certains cas, vous pourriez vouloir désinstaller une mise à jour problématique. Voici comment désinstaller une mise à jour spécifique en utilisant son KB ID :
Uninstall-WindowsUpdate -KBArticleID KB5005565 -Force
L’option -Force permet de s’assurer que la désinstallation est effectuée sans confirmation supplémentaire.
Commandes supplémentaires utiles
- Test-WindowsUpdate : Utilisez cette commande pour tester si des mises à jour sont disponibles sans les installer :
Test-WindowsUpdate
Hide-WindowsUpdate : Vous pouvez masquer des mises à jour spécifiques afin qu’elles ne soient pas proposées par Windows Update :
Hide-WindowsUpdate -KBArticleID KB5005565
Show-WindowsUpdate : Pour réafficher une mise à jour précédemment masquée :
Show-WindowsUpdate -KBArticleID KB5005565
Gérer les Mises à Jour sur des Machines Distantes
Avec PowerShell, vous pouvez également gérer les mises à jour sur des machines distantes en utilisant Invoke-Command ou PSRemoting. Voici un exemple simple :
Configurer l’accès à distance sur la machine distante (si ce n’est pas déjà fait) :
Enable-PSRemoting -Force
Exécuter une commande de mise à jour sur une machine distante :
Invoke-Command -ComputerName « NomDeLaMachine » -ScriptBlock { Install-WindowsUpdate -AcceptAll -IgnoreReboot }
Cela vous permet d’appliquer des mises à jour sur plusieurs machines dans un réseau.
Conclusion
PowerShell offre un contrôle extrêmement flexible et puissant pour gérer les mises à jour Windows. En automatisant les mises à jour, vous gagnez du temps et réduisez les interruptions. Que vous gériez une seule machine ou plusieurs dans un environnement d’entreprise, ces commandes vous permettront de garder vos systèmes à jour efficacement.
