Lister les machines virtuelles avec PowerCLI

I. Présentation

Le listing de machines virtuelles avec la console PowerCLI passe par l’utilisateur du command-let « Get-VM » auquel on peut ajouter des options afin d’afficher uniquement certaines VM, selon la banque de données où elles sont stockées, l’hôte sur lequel elle se trouve, etc… Nous allons voir dans ce tutoriel l’utilisation de ce command-let.

Avant de commencer ce tutoriel, exécutez la console PowerCLI et connectez-vous sur votre serveur vCenter ou sur votre hôte ESX/ESXi si vous n’avez pas de serveur vCenter.

II. Lister l’ensemble des VMs

Pour lister l’ensemble des VMs présentent dans l’inventaire de votre serveur vCenter, sans faire de filtrage, saisissez la commande suivante :

Get-VM

Ce qui vous retournera un listing comme ceci :

getvm1

III. Lister les VMs dont le nom « commence par… » ou « contient… »

Il est également possible de lister les VMs dont le nom commence par « Win » par exemple, en utilisant l’option « -Name » du command-let Get-VM. Ce qui donnera la commande suivante :

Get-VM –Name Win*

Le caractère « * » après « Win » permet d’indiquer qu’on veut lister les VMs dont le nom contient « Win » suivit de d’autres caractères.

Dans le cas de l’exemple avec « Win » ça permet d’obtenir ce genre de résultat :

getvm2

Si l’on veut voir les VM dont le nom contient « in » on l’entoure du caractère étoile « *in* » ce qui donnera ceci :

Get-VM –Name *in*

getvm3

IV. Lister les VMs situées sur une banque de données

Maintenant, nous allons voir comment lister les VMs stockées sur une banque de données précise, sans lister celles qui se trouvent sur d’autres banques de données. Pour cela, on utilise toujours le même command-let avec l’option « -Datastore ». Par exemple, pour lister les VMs stockées sur le datastore nommé « datastore1 » cela donnera ceci :

Get-VM –Datastore datastore1

getvm4

V. Lister les VMs enregistrées sur un serveur vCenter

Nous venons de voir comment lister les VMs situées sur une banque de données précisée en paramètre, il est possible de faire la même chose en listant les VMs enregistrées sur un serveur vCenter qu’on indique également en paramètre. Le paramètre en question est « -Server » suivi du nom du serveur vCenter. Il est possible d’utiliser la variable « $DefaultVIServer » qui a pour valeur le nom du serveur auquel on est connecté actuellement.

Par exemple, pour lister les VMs enregistrées sur le serveur vCenter auquel on est connecté, ça donnera ceci :

Get-VM –Server $DefaultVIServer

getvm5

VI. Lister les VMs d’un cluster, d’un centre de données et d’un pool de ressources

L’option « -Location » permet de lister les VMs d’un cluster, d’un centre de données, d’un pool de ressources, etc… Par exemple, pour lister les VMs situées dans le pool de ressources « Service Informatique », voici ce que ça donne :

Get-VM –Location "Service Informatique"

getvm6

Voilà, vous avez toutes les clés en mains pour utiliser le command-let « Get-VM » qui permet de lister des VMs tout en effectuant du filtrage sur le résultat grâce aux différentes options. Bien sûr, vous pouvez utiliser plusieurs options dans la même commande.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5574.Voir tous les posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.