[TIPS] – Powershell : Gérer les objets WMi en Powershell

0
529

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 !

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here