VMWARE : Administration des infrastructures VMware avec PowerCli


 

vmware_logo_white

 

1. Présentation de PowerCLI

PowerCLI permet d’administrer les hôtes ESXi et les machines virtuelles en exploitant les possibilités de PowerShell.
L’utilisation de PowerCLI est en effet un moyen complet d’administrer quotidiennement vos environnements virtuels.
Pour ma part j’utilise PowerCLI afin de mettre en place des scripts d’automatisations et d’audits d’infrastructures VMware.

 

2. Pré-requis

■ Windows PowerShell (minimum version 2)

■ Windows Management Framework 3.0 (disponible ici)

■ Installation de VMware vSphere PowerCLI (disponible ici)

■ Autoriser votre machine/serveur à exécuter des scripts PowerShell (Set-ExecutionPolicy Unrestricted)

■ Mot de passe « root » du serveur ESXi

 

3. Utilisation de PowerCLI

Il existe deux méthodes pour utiliser PowerCLI.

Méthode n°1 : Console standard VMware vSphere PowerCLI

Lancer la console « VMware vSphere PowerCLI » (en tant qu’administrateur)
PowerCLI_01

Vérifier si l’exécution des scripts est autorisé :

Get-ExecutionPolicy

Cette commande devrais vous retourné la valeur « Unrestricted ».

Dans le cas contraire autorisé l’exécution avec la commande suivante :

Set-ExecutionPolicy Unrestricted

Se connecter au VCenter avec la commande suivante :

Connect-VIServer nom-du-vcenter

NOTE : Un avertissement concernant le serveur de certificat s’affiche à l’écran, il ne faut pas en tenir compte.

PowerCLI_03

 

Méthode n°2 : Console PowerShell ISE

La console PS ISE permet de scripter simplement et d’avoir un aperçu de l’exécution des scripts.

Lancer la console PowerShell ISE (en tant qu’administrateur)

Autoriser votre machine/serveur à éxécuter des scripts PowerShell (Set-ExecutionPolicy Unrestricted)

Importer/initialiser le Snap-in PowerCLI dans PowerShell ISE :

Add-PSSnapin VMware.VimAutomation.Core

Se connecter au VCenter avec la commande suivante :

Connect-VIServer nom-du-vcenter

NOTE : Un avertissement concernant le serveur de certificat s’affiche à l’écran, il ne faut pas en tenir compte.

PowerCLI_04

 

4. Commandes de base

Afficher les Cmdlet :

Get-help vm

PowerCLI_05

Récupérer des informations sur une VM :

Get-VM -Name "VM-Name"

Listing des VM :

Get-VM

Récupérer la liste des VM d’un centre :

Get-VM -Location Paris

Démarrer une VM :

Start-VM -VM "VM-Name"

Arrêter une VM proprement via les VMWare Tools :

Shutdown-VMGuest -VM "VM-Name"

Redémarrer une VM proprement via les VMWare Tools :

Restart-VMGuest -VM "VM-Name"

Arrêter brutalement une VM :

Stop-VM -VM "VM-Name"

Supprimer une VM de l’inventaire :

Remove-VM -VM "VM-Name"

Mettre en pause une VM :

Suspend-VM -VM "VM-Name"

Supprimer une VM de l’inventaire et du Datastore :

Remove-VM -VM "VM-Name" -DeletePermanently

 

5. Commandes avancées

Lister toutes les VM éteintes :

Get-VM | Where-Object {$_.PowerState -eq 'PoweredOff'}

Lister les VM qui ont un snapshot :

Get-Snapshot -VM * | Format-Table

Déterminer l’état des VMware Tools :

Get-VM | Where {$_.PowerState -eq ‘PoweredOn’} |
Select-Object Name, {$_.Guest.State}
Name $_.Guest.State

Mettre à jour les VMware Tools sur une VM :

Update-Tools -VM 'VM-Name' -NoReboot

Mettre à jour les VMware Tools sur plusieurs VM :

Update-Tools -VM 'VM-Name1','VM-Name2',''VM-Name3' -NoReboot

NOTE : Le commutateur « -NoReboot » permet de ne pas redémarrer la machine virtuelle.

 

6. Documentation & Référence

vSphere PowerCLI Cmdlets Reference :
https://www.vmware.com/support/developer/PowerCLI/PowerCLI41/html/index.html

vSphere PowerCLI Community :
https://communities.vmware.com/welcome
https://developercenter.vmware.com/web/dp/sdk/55/vsphere-powercli

VMware PowerCLI Blog :
http://blogs.vmware.com/PowerCLI/

 

Print Friendly, PDF & Email

Laisser un commentaire

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