Dans le quotidien d’un administrateur système, vérifier l’état des correctifs de sécurité (les fameux hotfixes ou packages KB) est une routine incontournable. Que ce soit pour auditer un parc après une campagne de déploiement WSUS ou SCCM, s’assurer de la remédiation d’une faille critique (0-day) ou diagnostiquer une régression sur un serveur de production, disposer d’une méthode rapide pour interroger une machine locale ou distante fait gagner un temps précieux.
Historiquement, l’utilitaire PsInfo issu de la suite Microsoft Sysinternals s’est imposé comme un incontournable pour récupérer ces éléments en une seule commande. Aujourd’hui, bien que d’autres commandes natives comme PowerShell ou WMIC offrent des alternatives modernes, PsInfo reste un outil d’une remarquable efficacité pour les audits légers sans déploiement d’agents complexes. Ce mémo détaille l’utilisation de PsInfo et passe en revue les différentes approches en ligne de commande pour lister les correctifs appliqués à vos systèmes Windows.
Utiliser PsInfo (Sysinternals) pour lister les correctifs
Développé par Mark Russinovich, psinfo est un exécutable autonome qui ne nécessite aucune installation. Il interroge les composants système via les canaux RPC/SMB classiques et extrait une vue condensée du système d’exploitation, de ses composants matériels de base et de l’ensemble des correctifs enregistrés.
Syntaxe et options principales de PsInfo
L’outil s’exécute depuis une invite de commandes (cmd) lancée avec des privilèges élevés. Voici les commutateurs essentiels à connaître :
- -h : Affiche la liste complète des correctifs (hotfixes) installés sur le système.
- -s : Retourne la liste des applications logicielles détectées.
- -d : Fournit des métriques détaillées sur les volumes de stockage et l’espace disque.
- -c : Génère un flux au format CSV, idéal pour rediriger la sortie vers un script d’audit ou un fichier plat.
- -t <délimiteur> : Définit un délimiteur personnalisé pour la sortie CSV (par exemple -t pour une tabulation).
- -u <utilisateur> -p <mot_de_passe> : Permet de spécifier des identifiants administratifs alternatifs lors d’une requête sur une machine distante.
Exécuter PsInfo en local et à distance
Pour inventorier la machine locale, l’argument -h suffit amplement :
psinfo -h
L’affichage retourne les informations génériques (nom d’hôte, type de noyau, version du Service Pack, processeurs, mémoire vive) suivies de la section Installed HotFix qui détaille chaque mise à jour, son identifiant KB et sa date d’installation.
Pour cibler un serveur distant à travers le réseau local, indiquez son nom NetBIOS ou son adresse IP préfixé de doubles barres obliques :
psinfo -h \\SRV-AD01 -u DOMAINE\Administrateur -p MonMotDePasse
Vous pouvez également cibler une liste complète de serveurs renseignés dans un fichier texte brut grâce au commutateur @fichier.txt, ce qui facilite grandement les contrôles d’inventaire sur plusieurs dizaines d’hôtes.
Les alternatives natives sous Windows
Bien que PsInfo soit redoutablement efficace, il arrive que les contraintes de sécurité en entreprise interdisent le téléchargement d’outils tiers. Plusieurs commandes intégrées permettent d’obtenir un résultat similaire sans rien installer.
1. La commande systeminfo
Disponible depuis Windows XP et Windows Server 2003, la commande systeminfo regroupe les caractéristiques de base du système d’exploitation ainsi que la liste exhaustive des correctifs. Pour ne récupérer que les KB, on associe généralement la commande à un filtre :
systeminfo | findstr /B /C: »[0-9]*]: KB »
Cette approche est très simple mais peut s’avérer lente à l’exécution, car systeminfo recalcule l’intégralité des modules réseau et des profils matériels avant d’afficher le résultat.
2. L’utilitaire WMIC (Quick Fix Engineering)
La commande WMIC interroge directement la classe WMI Win32_QuickFixEngineering. C’est l’un des moyens les plus véloces pour récupérer le statut d’un serveur :
wmic qfe list brief /format:table
Pour requêter un équipement à distance :
wmic /node: »SRV-FICHIERS » /user: »DOMAINE\Admin » /password: »Secret » qfe list brief
Cette commande est souvent employée dans les anciens scripts Batch pour vérifier la compatibilité logicielle avant de installer des features en ligne de commande avec servermangercmd ou déployer de nouveaux rôles système.
Lister les mises à jour avec PowerShell
Sur les environnements Windows récents, PowerShell est la méthode recommandée pour automatiser et filtrer les résultats avec précision.
La cmdlet Get-HotFix
La commande native Get-HotFix interroge elle aussi l’infrastructure WMI/CIM :
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
Vous pouvez cibler directement une mise à jour précise pour savoir si elle est présente sur la machine :
Get-HotFix -Id KB5005565
Pour scanner un serveur distant, utilisez le paramètre -ComputerName (sous réserve que l’accès RPC/WinRM soit autorisé dans le pare-feu) :
Get-HotFix -ComputerName « SRV-APP02 » -Credential (Get-Credential)
Lors de vos investigations, n’oubliez pas de croiser ces informations avec l’architecture matérielle du système : pour savoir si un binaire doit être téléchargé en version x86 ou x64, consultez notre mémo pour déterminer si la version Windows est 32 ou 64 bits.
Requête moderne via CIM (Common Information Model)
Sur les parcs récents où DCOM/RPC est bridé au profit de WinRM, privilégiez Get-CimInstance :
Get-CimInstance -ClassName Win32_QuickFixEngineering | Select-Object HotFixID, Description, InstalledOn, InstalledBy
Pour exporter les résultats dans un fichier CSV exploitable sous Excel ou dans un outil de reporting :
Get-CimInstance -ClassName Win32_QuickFixEngineering | Export-Csv -Path « C:\Temp\audit_hotfixes.csv » -NoTypeInformation -Encoding UTF8
Points d’attention et dépannage réseau
Lors de l’interrogation de correctifs à distance, plusieurs points bloquants surviennent fréquemment en environnement de production :
- Pare-feu Windows : PsInfo et WMIC requièrent l’ouverture des flux RPC dynamiques et du partage de fichiers (SMB, port 445). Si la connexion échoue avec un message d’accès refusé ou de temporisation, vérifiez les règles de pare-feu entrant.
- Droits administratifs : L’interrogation de la classe Win32_QuickFixEngineering exige des privilèges d’administrateur local sur la machine distante.
- Mises à jour non listées : Certaines mises à jour de composants spécifiques (comme Internet Explorer à l’époque, certaines versions du Framework .NET ou les mises à jour de pilotes) n’apparaissent pas systématiquement dans la classe WMI standard. Dans ce cas, l’inspection du registre sous HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages ou l’utilisation de l’utilitaire dism /online /get-packages permet d’obtenir un état exhaustif des paquets du magasin de composants (WinSxS).
Pour compléter votre boîte à outils d’administration quotidienne et accéder rapidement aux utilitaires de configuration du système, n’hésitez pas à garder sous la main notre liste de raccourcis console Microsoft Windows.




