> Tech > Inventaire des machines virtuelles avec Windows PowerShell

Inventaire des machines virtuelles avec Windows PowerShell

Tech - Par Renaud ROSSET - Publié le 21 octobre 2011
email

La gestion des machines virtuelles va essentiellement s’opérer grâce à la famille de commandes « VM ». Ainsi pour démarrer une machine virtuelle, nous utiliserons Start-VM et pour l’arrêt Stop-VM ou Shutdown-VM.

Inventaire des machines virtuelles avec Windows PowerShell

Exemple 1 : démarrage d’une machine virtuelle

PS

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 inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 21 octobre 2011