Introduction :
Voici une commande PowerCLI qui pourra j’espère vous aider un jour. Elle vous permet de lister l’ensemble de vos VMs selon le trie de votre choix et d’exporter en CSV.
Pre-requis :
Il faut avoir installé le module PowerCLI sur une machine de votre réseau de management et que nous puissions contacter le vCenter. Il faudra faire une connexion en PowerCLI au vCenter.
> Connect-VIServer <MonServeurvCenter> -User <Utilisateur> -Password <MotdePass>
Exemples de Script :
Nous allons partir d’une commande simple que nous allons faire évoluer au fur et à mesure.
> Get-VM
Depuis cette commande, nous pouvons lister l’ensemble des VMs présentes sur notre infrastructure. Nous pouvons faire un tris suivant l’état des VMs, par exemple je souhaite visualiser les VMs démarrer.
> Get-VM | Where-Object {$_.PowerState -eq "PoweredOn"}
Pour exporter au format CSV, il nous suffira d’ajouter la commande Export-Csv <AvecLeChemin>.
> Get-VM | Where-Object {$_.PowerState -eq "PoweredOn"} | Export-Csv "c:\LAB.csv"
Comme nous pouvons le constater, on récupère beaucoup de valeurs, nous pouvons faire une sélection des valeurs que nous souhaitons par exemple pour récupérer Le nom de la VM, l’état actuel, le nombre de CPU, la taille de la Memoire en GB.
> Get-VM | Where-Object {$_.PowerState -eq "PoweredOn"} | Select-Object Name,PowerState,NumCPU,MemoryGB | Export-Csv "c:\LAB2.csv"
Si nous souhaitons afficher les VMs avec plus de 1 CPU.
Get-VM | Where-Object {$_.PowerState -eq "PoweredOn"} | Where-Object {$_.NumCPU -gt "1"} | Select-Object Name,PowerState,NumCPU,MemoryGB | Export-CSV "c:\LAB3.CSV"
Pour rappel, les options sont les suivantes
Si vous souhaitez faire un trie sur le nom des VMs, vous pouvez ajouter -Name <NomdemesVm>. Par exemple, si je souhaite avoir toutes les VMs commencent par vSphere.
> Get-VM -Name vSphere* | Where-Object {$_.PowerState -eq "PoweredOn"} | Where-Object {$_.NumCPU -gt "1"} | Select-Object Name,PowerState,NumCPU,MemoryGB | Export-CSV "c:\LAB3.CSV"
Have Fun!