La classe Msvm_ComputerSystem représente un ordinateur physique ou un ordinateur virtuel. Celle-ci possède un grand nombre de propriétés mais qu’une seule méthode. Parmi les propriétés existantes, la propriété Caption indique le type d’ordinateur (hôte ou VM).
Lister les VMs Hyper-V avec PowerShell
![Lister les VMs Hyper-V avec PowerShell Lister les VMs Hyper-V avec PowerShell](https://www.itpro.fr/wp-content/uploads/2012/01/ITPro.fr-SMART-DSI-@ITPROFR-2001-2023-ITPro-Magazine-System-i-NEWS-Exchange-Magazine-SQL-Server-Magazine-ITPro-for-the-Best.jpg)
Nous devrons effectuer un filtre (réalisé grâce à Where-Object) sur la valeur « Ordinateur virtuel » afin de ne récupérer que ce type d’objets.
PS > $VMList = Get-WmiObject -Namespace root\virtualization Msvm_ComputerSystem -ComputerName
HYPERV-SRV
PS > $VMList = $VMList | Where-Object {$_.caption -eq ‘Ordinateur virtuel’}
PS > $VMList | Format-Table ElementName,EnabledState,InstallDate,OnTime* -Autosize
ElementName EnabledState InstallDate OnTimeInMilliseconds
———– ———— ———– ——————–
Windows 7 X64 3 20100524214841.000000-000 0
Windows 2008 R2 DC 2 20100524214224.000000-000 29615790
Windows Server 2003 3 20100524215129.000000-000 0
Dans cet exemple, en plus de récupérer le nom des machines virtuelles gérées par le serveur Hyper-V, j’ai volontairement choisi d’afficher d’autres propriétés telles que leur état, leur date de création ainsi que le temps écoulé en millisecondes depuis leur dernier démarrage.
Astuce : vous pouvez remarquer qu’il est possible d’utiliser le caractère générique « * » dans les noms de propriétés avec les commandes de formatage telles que Format-Table et Format-List. Cela permet d’une part de ne pas avoir à entièrement taper le nom des propriétés, et d’autre part d’afficher toutes les propriétés dont leur nom correspond au « pattern ».
Concernant la propriété EnabledState, la valeur 2 correspond à l’état « démarré » et la valeur 3 à l’état « arrêté ». La liste des valeurs possible est décrite sur la page MSDN consacrée à la description de la classe Msvm_ComputerSystem (http://msdn.microsoft.com/en-us/library/cc136822.aspx).
Il est possible d’améliorer le résultat de l’affichage en utilisant une table de hachage couplée à la commande Format-Table :
$VMList |
Format-Table @{label=’VMName’;
expression={$_.ElementName}},
@{label=’State’;
expression={switch ($_.EnabledState) {2 {« Running »} 3 {« Stopped »} }}},
@{label=’InstallDate’; expression
{[System.Management.ManagementDateTimeConverter]::ToDateTime($_.InstallDate)}},
@{label=’Uptime (S)’;
expression={[Int]($_.OnTimeInMilliseconds/1000)} } -AutoSize
VMName State InstallDate Uptime (S)
—— —– ———– ———-
Windows 7 X64 Stopped 24/05/2010 23:48:41 0
Windows 2008 R2 DC Running 24/05/2010 23:42:24 29616
Windows Server 2003 Stopped 24/05/2010 23:51:29 0
Cette technique nous permet de réaliser un pré-traitement avant restitution des données. J’en ai donc profité pour réaliser les opérations suivantes :
- Modification du nom des colonnes afin de leur donner un nom plus explicite,
- Remplacement, grâce à un traitement, des valeurs d’état par leur état réel,
- Conversion de la date au format WMI en une date intelligible pour l’homme grâce la méthode statique ToDateTime du Framework .NET,
- Conversion des millisecondes en secondes par le biais d’une simple division suivie d’une conversion du résultat en nombre entier pour éviter les nombres à virgule.
Téléchargez cette ressource
![Guide inmac wstore pour l’équipement IT de l’entreprise](https://www.itpro.fr/wp-content/uploads/2024/04/Guide-inmac-wstore-Juillet-2024.jpg)
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.
Les articles les plus consultés
- Afficher les icônes cachées dans la barre de notification
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
Les plus consultés sur iTPro.fr
- Menace cyber lors des Jeux Olympiques et Paralympiques 2024
- CyberArk sécurise les identités humaines et machines avec CORA AI
- La généralisation de l’authentification par QR codes et les cyber-risques associés
- Intégrer l’IA dans son service client : les écueils à éviter pour l’IT et les métiers
- Microsoft Patch Tuesday Juillet 2024
![Revue Smart DSI](https://www.itpro.fr/wp-content/uploads/2024/07/SMART-DSI-Numero-34-Juin-2024.jpg)