Récupérer la liste des updates Windows installées via PowerShell

Powershell est un outil formidable, cependant, il arrive que ce soit un peu plus compliqué que prévu. Aujourd’hui, j’ai eu besoin de faire une extraction de toutes les mises à jour d’un ordinateur.
Du coup, un petit coup de Powershell aurait dû faire l’affaire en une commande toute simple…. Mais non.
Initialement, la commande « Get-Hotfix » permet de récupérer toute la liste des mises à jour installées sur un ordinateur. Couplé avec la variable « -computername » on peut récupérer la liste sur un ordinateur distant. Après on peut même s’amuser à sélectionner seulement certains champs et trier le tout. Ce qui donne la chose suivante :
Get-HotFix -computername NOMDUPC | Select HotfixID,Description,InstalledOn | Sort InstalledOnfunction get-hotfix
Le souci, c’est qu’on se retrouve avec un paquet de mises à jour sans date d’installation… et c’est con, c’est ça qui m’intéresse… !
Bon, le truc c’est qu’après avoir fouillé Google, je me suis rendu compte que beaucoup de monde était dans le même cas.
Mais… c’était sans compter sur un petit bout de script trouvé ici :
function get-hotfix2{ param($computername) #$PSBOundParameters Get-HotFix @PSBOundParameters | Select-Object description,hotfixid,installedby, @{l="InstalledOn";e={[DateTime]::Parse($_.psbase.properties["installedon"].value,$([System.Globalization.CultureInfo]::GetCultureInfo("en-US")))}} }
En important ce bout de script, on obtient alors une fonction « Get-Hotfix2 » qui elle fonctionne correctement !
On a plus qu’à importer le module, puis lancer la commande suivante :
Get-HotFix2 -computername NOMDUPC | Select HotfixID,Description,InstalledOn | Sort InstalledOnfunction
Si vous souhaitez l’exécuter sur votre ordinateur, retirer simplement « -computername NOMDUPC »
Et voilà ma liste avec les dates !
Et pour extraire le tout en CSV, on ajouter juste un pipe avec « Export-Csv c:\scripts\monfichier.csv »
Ce qui donne quelque chose comme ça…
Get-HotFix -computername NOMDUPC | Select HotfixID,Description,InstalledOn | Sort InstalledOnfunction | Export-Csv c:\scripts\monfichier.csv
Enjoy.
Bonjour,
merci pour l’astuce.
Sinon à quoi sert la commande get-hotfix en fin de ligne?
Est-ce une erreur car du coup la commande ne fonctionne pas avec chez moi.
Salut Foxi,
Effectivement, erreur de frappe. J’ai modifié la ligne.
Réessaie, et si ça ne fonctionne pas, n’hésites pas à revenir vers moi
Bonjour,
Merci pour votre tutoriel
a présent je suis entrain de chercher une commande powershell avec mes petit moyen de connaissance, qui me permettrai de récupérer,
tous les applications dans SCCM 2012 qui ne sont pas déployer,
et
tous les applications qui sont déployer et sur combien de poste.
Merci beaucoup pour votre aide