Powershell WMI explorer - Marie

Powershell WMI explorer
Puisque vous étudiez la supervision et les inventaires de parc, nous allons en Powershell voir comment
recenser les informations du parc ou des serveurs supervisés.
I
POWERSHELL WMI EXPLORER
Télécharger le produit à l’adresse : http://jdhitsolutions.com/blog/2013/03/wmi-explorer-from-thepowershell-guy/
Dézipper l’archive, lancer Powergui en Administrateur et exécuter powershell wmi explorer.
Se connecter en localhost (ne rien inscrire), sélectionner le namespace root\cimv2 (namespace par
défaut en powershell), observer les classes proposées :
Chercher la classe win32_computersystem et afficher en les instances avec le bouton « get instances »
Retrouver le nom de l’ordinateur, le domaine, l’utilisateur connecté, le nombre de processeurs, le type
de processeur, la quantité de mémoire.
Chercher la classe win32_NTEventLogFile et afficher en les instances avec le bouton « get instances »
Qu’observez-vous ?
Chercher le classe win32_logicaldisk et surveiller l’utilisation des disques.
Retrouver la lettre de lecteur, le nom du disque logique, la taille totale, la taille libre, le type de
système de fichiers utilisé.
1
Marie-pascale Delamare
Chercher la classe présentant les informations sur les cartes réseau puis sur le paramétrage réseau.
Relever les informations utiles (nom de la carte, adressage, IP, DNS, serveur DHCP, masque).
Chercher la classe présentant les informations sur les imprimantes. Relever les informations utiles.
Chercher la classe présentant les informations sur les applicatifs. Relever les informations utiles.
Chercher la classe présentant les informations sur le processeur. Relever les informations utiles.
Se connecter sur une autre poste grâce à l’adresse IP (attention les comptes administrateurs locaux
doivent être les mêmes (nom et password)
II
POWERSHELL ET WMI
FICHE D’AIDE 03 - 04
Lancer une console Powershell en administrateur et tenter les commandes suivantes :
-
Lister les classes : get-wmiobject –list
-
Compter les classes (get-wmiobject –list).count
-
Trouver des informations générales l’ordinateur : get-wmiobject win32_computersystem |
format-list *
-
Trouver toutes les classes donnant des informations sur la mémoire : get-wmiobject –list –
recurse | foreach{$_.PSbase.properties} | where {$_.name –match ‘memory’} | select-object
origin, name –unique
-
Trouver les informations sur les disques logiques : get-wmiobject win32_logicaldisk | formatlist *
2
Marie-pascale Delamare
-
Trouver les informations sur les cartes réseau : ____________________________________
-
Trouver les informations sur les imprimantes : ____________________________________
-
Trouver les informations sur le processeur : _______________________________________
-
Trouver les informations sur les applications installées : _____________________________
-
La liste des applications est longue, commencer par limiter les propriétés affichées _______
-
___________________________________________________________________________
-
La liste des applications est longue, sélectionner une application particulière :
-
get-wmiobject win32_softwareFeature | select-object {$_name –match ‘PDFREADER’}
-
Idem mais sur un ordinateur distant :
-
get-wmiobject win32_softwareFeature –computer WIN71| select-object {$_name –match
‘Powergui’}
III APPLICATION DANS UN SCRIPT
Trouver tous les postes d’un réseau sur lesquels n’est pas installé un logiciel saisi au clavier.
En entrée vous disposez dans un fichier de la liste des noms des ordinateurs du réseau. Il faut donc lire
le fichier contenant le nom des ordinateurs du réseau, puis pour chaque ordinateur récupérer le
dictionnaire des programmes installés dans lequel vous sélectionnez l’application recherchée. Si
l’application est présente on ne fait rien sinon on écrit le nom de l’ordinateur sur la console, puis dans
un second temps dans un fichier.
3
Marie-pascale Delamare