Sommaire
Bonjour à tous !
Alors aujourd’hui je voudrais vous faire partager mon expérience avec la commande Get-WMiObject.
Introduction
Tout d’abord qu’est ce qu’un objet WMi ?
Si je le traduis littéralement ça donne: « les instruments de gestion de Windows » ce qui, en soi, est plutôt explicite. Pour faire simple « les instruments », sont des bibliothèques ou classes que l’on va appeler pour récupérer des infos sur notre machine ou sur une machine distante (ex : le numéro de série de la machine, les programmes installés, etc…. ). Ce qui en administration peut vous faire gagner pas mal de temps à condition de savoir dans quelles bibliothèques fouiller.
Je tiens à préciser que la description et l’utilisation des WMi est beaucoup plus complexe mais comme je ne souhaite pas vous écrire un article un peu indigeste, je me contenterai de vous faire une synthèse des commandes que j’utilise le plus.
Utilisation
La commande en elle même est assez simple, il suffit de faire :
Get-WMiObject
Suivi de la classe visée avec
-Class
Et si vous désirez plus de détails ajoutez
-Property
Vous pouvez ensuite cibler une machine distante
-ComputerName
Après il est simple de trier l’information ou de l’envoyer dans un fichier, ce qui peut être utile dans des scripts.
Commandes utiles
Pour récupérer les programmes installés sur une machine
Get-WmiObject -Class Win32_product -ComputerName “Numéro de machine ” | Sort Name | ft Name -autosize
Ici c’est la classe « Win32_product » qui permet de vérifier les programmes installés, le « | Sort » permet de trier en s’appuyant sur une des propriétés et le « | ft » est la contraction de « Format-Table » qui permet d’organiser le résultat en fonction des propriétés voulu.
Pour voir les services (trié par état)
Get-WmiObject -Class Win32_service -ComputerName “Numéro de machine ” | Sort state | ft Name,State
Pour les machines Dell vous pouvez récupérer le numéro de service TAG
Get-WmiObject -Class Win32_bios | ft SerialNumber
Pour récupérer les mises à jour installées sur une machine (trier par numéro de KB)
Get-WmiObject -Class "win32_quickfixengineering" | Sort HotFixId
Pour récupérer les adresses Mac de machine ainsi que les cartes associées
Get-WmiObject -Class Win32_NetworkAdapter | ft Name, MacAddress -autosize
Le mot de la fin
Pour ceux qui veulent pousser un peu plus loin, vous pouvez faire des recherches de classes WMI avec la commande suivante.
Get-WmiObject -List | Where { $_.name -match 'Objet de votre recherche' }
Il faudra utiliser l’anglais pour votre recherche.
J’espère que ces petits tips vous aideront dans vos scripts ainsi que dans votre administration quotidienne.
Merci à tous !