Si vous cherchez à déterminer quelles mises à jour Windows ont été installées ou ont échoué, PowerShell est étonnamment rapide. Vous pouvez consulter l’historique des mises à jour, filtrer par base de connaissances ou plages de dates spécifiques, et même exporter le tout au format CSV, sans avoir à parcourir d’interminables menus ni à cliquer dans les Paramètres. C’est pratique, mais il est parfois difficile de savoir quelle commande exécuter ou quels fichiers sont créés. Voici donc un guide rapide avec de vraies commandes qui vous seront utiles en situation réelle.
Comment vérifier l’historique des mises à jour de Windows à l’aide de PowerShell ?
Ouvrir PowerShell en tant qu’administrateur
- Appuyez sur Windows + S, puis saisissez PowerShell. Trouvez l’icône, mais ne cliquez pas simplement dessus ; faites un clic droit et choisissez Exécuter en tant qu’administrateur.
- Lorsque le Contrôle de compte d’utilisateur vous y invite, cliquez sur Oui. Cette étape est cruciale : PowerShell ne vous permet pas d’accéder aux journaux de mise à jour.
- C’est ici que la magie opère. Sur certaines configurations, ouvrir PowerShell en tant qu’administrateur peut nécessiter un clic supplémentaire ou un redémarrage, mais c’est indispensable pour un accès complet.
Afficher toutes les mises à jour Windows installées
- Pour voir ce qui est installé, exécutez :
Get-HotFix
. Cette liste répertorie les correctifs par base de connaissances, description et date d’installation. Pas très détaillée, mais suffisante pour consulter les mises à jour récentes ou résoudre des problèmes spécifiques à certaines bases de connaissances. - Si le résultat par défaut est trop complexe, utilisez des canaux
Format-Table -AutoSize
ou sélectionnez des colonnes spécifiques pour plus de clarté. Par exemple :Get-HotFix | Select HotFixID, InstalledOn, Description | Format-Table -AutoSize
Sur certaines configurations, vous souhaiterez peut-être vérifier rapidement une mise à jour spécifique : filtrez simplement comme ceci :
Filtrer les mises à jour par date ou par ID de base de connaissances
- Vous recherchez une base de connaissances spécifique ? Exécutez :
Get-HotFix | Where-Object {$_. HotFixID -eq "KB1234567"}
. Cela permet de vérifier la présence d’un correctif, notamment pour les correctifs récents. - Pour voir les mises à jour installées au cours du dernier mois, essayez :
Get-HotFix | Where-Object {$_. InstalledOn -gt (Get-Date).AddDays(-30)}
. Utile pour résoudre les problèmes récents.
Remarque : ces filtres ne sont pas parfaits : parfois, les formats de date ou la façon dont Windows enregistre les correctifs peuvent être ennuyeux. Ne soyez donc pas surpris si les résultats varient légèrement.
Exporter l’historique des mises à jour vers un fichier
- Ceci est pratique si vous souhaitez un enregistrement ou une consultation en dehors de PowerShell, par exemple dans Excel. Exécutez :
Get-HotFix | Export-Csv "C:\Users\Public\WindowsUpdateHistory.csv" -NoTypeInformation
. - Ouvrez ensuite le fichier CSV dans Excel ou tout autre tableur. Vous pouvez trier par InstalledOn ou HotFixID pour analyser la chronologie de vos correctifs.
Cela semble simple, mais gardez à l’esprit que certaines mises à jour peuvent ne pas s’afficher si elles ont été remplacées ou si l’historique des correctifs du système est corrompu.
Utilisez le module Windows Update pour des journaux détaillés
- Installez le module avec :
Install-Module PSWindowsUpdate
. Vous devrez peut-être exécuter PowerShell en tant qu’administrateur et répondre « Oui » à toutes les invites. Bien sûr, Windows rend cette tâche plus complexe que nécessaire. - Une fois installé, répertoriez tout l’historique des mises à jour avec :
Get-WUHistory
. - Cela donne une vue plus détaillée, y compris les mises à jour en attente, les états de réussite et d’échec, ainsi que les horodatages.
Sur certains ordinateurs, le module peut échouer lors de l’installation en raison de politiques ou de problèmes Internet. Réexécutez simplement PowerShell en tant qu’administrateur et réessayez.
Vérifier les journaux de l’observateur d’événements via PowerShell
- Exécutez cette commande pour accéder aux événements et aux erreurs de mise à jour :
Get-WinEvent -LogName System | Where-Object {$_. ProviderName -eq "Microsoft-Windows-WindowsUpdateClient"} | Select-Object TimeCreated, Message
. - Cela extrait des journaux détaillés de l’Observateur d’événements, révélant exactement pourquoi une mise à jour peut avoir échoué ou si elle est bloquée dans un état en attente.
- La plupart du temps, les erreurs se trouvent dans le message, alors soyez prêt à creuser si vous voyez « l’installation a échoué » ou des notes similaires.
Ce n’est pas une grande surprise, mais parfois cette commande vide des centaines d’entrées, donc l’ajout de filtres supplémentaires ou la recherche de mots-clés comme « Erreur » permet de réduire la recherche.
Pourquoi vérifier l’historique des mises à jour avec PowerShell
Parce qu’il est rapide, scriptable et automatisable si nécessaire. Il permet de repérer rapidement les correctifs défaillants ou de vérifier ce qui a été réellement installé, ce qui est particulièrement pratique si Windows Update ne présente pas l’intégralité des informations dans l’interface utilisateur. De plus, il est idéal pour le dépannage à distance sur plusieurs machines, ce qui est difficile à réaliser avec l’interface utilisateur seule.
FAQ
À l’aide du module Windows Update, filtrez les résultats avec quelque chose comme : Get-WUHistory | Where-Object {$_. ResultText -like "*Failed*"}
. De cette façon, les échecs apparaissent.
Oui. Trouvez la base de connaissances en question, puis exécutez : wusa.exe /uninstall /kb:XXXXXXX
depuis une invite de commande administrateur ou PowerShell. Assurez-vous simplement de vouloir la supprimer ; la suppression des mises à jour peut parfois entraîner d’autres problèmes.
Get-HotFix affiche clairement ce qui est installé. Get-WUHistory (via le module) offre un historique plus complet : ce qui est installé, en attente, en échec ou planifié.
Bien sûr, si vous disposez des droits d’administrateur et de la gestion à distance activés, vous pouvez exécuter ces commandes sur des PC distants :
Invoke-Command -ComputerName PCName -ScriptBlock { Get-HotFix }
ou utilisez le module avec options de communication à distance. Attention, des autorisations supplémentaires ou des ajustements de pare-feu peuvent être nécessaires.
Réflexions finales
Globalement, PowerShell est très performant pour vérifier les informations de mise à jour sans les complications d’une interface graphique. Qu’il s’agisse de vérifications rapides ou de rapports détaillés, ces commandes simplifient la tâche. Si vous maîtrisez la ligne de commande, c’est un véritable gain de temps et vous évite les mauvaises surprises en cas de problème sur votre PC. N’oubliez pas qu’un redémarrage ou une réinitialisation rapide des composants Windows Update, comme la suppression du dossier SoftwareDistribution, peut parfois relancer les mises à jour bloquées. Mais ces commandes offrent une vision beaucoup plus claire dès le départ.