> Tech > Inventaire des machines virtuelles avec Windows PowerShell

Inventaire des machines virtuelles avec Windows PowerShell

Tech - Par iTPro - Publié le 21 octobre 2011
email


Récupérer l’état des machines virtuelles ou des hôtes est quelque chose de fréquent, surtout si l’on souhaite générer des rapports de nuit sur l’état de santé de son infrastructure de virtualisation.

Pour cela, les commandes Get-VM et Get-VMHost vont nous être utiles.

Exemple 1 : Lister toutes les VM ainsi que leur statut de fonctionnement
(voir tableau 1 ci-dessous)

PS > Get-VM |Sort Virt* |FT Name,Memory,VirtualizationPlatform,Status

Afin que la ligne de commandes tienne sur une seule ligne, j’ai volontairement utilisé les alias Sort pour Sort-Object et FT pour Format-Table. Sort-Object permet de trier le résultat sur une propriété donnée ; ici sur la propriété qui commence par « Virt ». Le résultat est ensuite renvoyé sous forme de table mais le fait de spécifier le nom de propriétés nous permet de les restreindre. En effet, une machine virtuelle possède des dizaines de propriétés et celles qui nous intéressent plus particulièrement pour cet exemple sont : Name, Memory, VirtualizationPlatform et Status.

Les plus attentifs d’entre vous auront remarqué que des VM de type VMWareESX sont également de la partie. Cela est ainsi car je possède sur ma plateforme un serveur VMWare ESX ainsi qu’un serveur VMWare Virtual Center. SCVMM étant capable de piloter un serveur de type Virtual Center, j’ai donc utilisé cette fonctionnalité. Cette dernière se configure très facilement via l’interface graphique de SCVMM mais également, et bien évidemment, avec PowerShell. Cela se fait via la commande Add-VirtualizationManager et les autres issues de cette même famille que sont : Get-VirtualizationManager, Set-VirtualizationManager, et Remove-VirtualizationManager.

Exemple 2 : Lister uniquement les VM en cours d’exécution
(voir tableau 2 ci-dessous)

PS > Get-VM | Where {$_.Status -eq 'Running'} | FT Name,Virtuali*,Location

Dans ce second exemple, j’ai délibérément choisi de changer les propriétés à afficher. En effet, la propriété Status n’a que peu d’intérêt dans la mesure où c’est sur cette dernière que porte notre commande. Quant à la propriété Location, celle-ci indique l’emplacement des fichiers où sont stockées les machines virtuelles.

Tableau 1 :
 

Name

Windows Server 2003
Windows 2008 R2 DC
Windows 7 x64
vCenter
W2K8R2DC
Ubuntu
W2K3R2 – 32 bits
Windows 7 Pro

Memory

512
512
512
2048
1024
512
1024
512

VirtualizationPlatform

HyperV
HyperV
HyperV
VMWare ESX
VMWare ESX
VMWare ESX
VMWare ESX
VMWare ESX

Status

Running
Running
PowerOff
Checkpoint Failed
Running
Running
Migration Failed
PowerOff


Tableau 2 :
 

Name

Windows 2008 R2 DC
Windows Server 2003
Ubuntu
W2K8R2DC

Virtualization Platform

HyperV
HyperV
VMWare ESX
VMWare ESX

Location

D:\VMs-HyperV\Windows 2008 R2 DC
D:\VMs-HyperV\Windows Server 2003
[datastore1]\Ubuntu
[datastore1]\W2K8R2DC

Téléchargez cette ressource

Guide de cybersécurité en milieu sensible

Guide de cybersécurité en milieu sensible

Sur fond de vulnérabilités en tout genre, les établissements hospitaliers, pharmacies, laboratoires et autres structures de soin font face à des vagues incessantes de cyberattaques. L’objectif de ce livre blanc est de permettre aux responsables informatiques ainsi qu’à l’écosystème des sous-traitants et prestataires du secteur médical de se plonger dans un état de l’art de la cybersécurité des établissements de santé. Et de faire face à la menace.

Tech - Par iTPro - Publié le 21 octobre 2011

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT