Powercli
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | VMware vSphere |
| Module | VMware.PowerCLI
|
| Voir aussi | Powershell |
VMware PowerCLI est un ensemble de modules PowerShell permettant d'administrer les environnements VMware vSphere / vCenter en ligne de commande.
Connexion
Connect-VIServer -Server vcenter.example.com -Protocol https -User 'DOMAINE\utilisateur' -Password 'MotDePasse'
Interroger les VMs
# VMs possédant des disques Raw Device Mapping
Get-VM | Get-HardDisk | Where { $_.DiskType -eq "RawPhysical" }
# Tri par nom
Get-VM | Sort -Property Name
# VM dans un dossier précis
Get-VM -Name MaVM -Location (Get-Folder -Name "MonDossier")
# Informations invité
Get-VMGuest -VM (Get-VM -Name MaVM)
# UUID d'une VM
Get-VM MaVM | ForEach-Object { (Get-View $_.Id).Config.Uuid }
# Chemin du fichier VMX
Get-VM -Location (Get-vApp "Nom vApp") | Get-View | ForEach-Object { $_.Config.Files.VmPathName } | Sort
# Événements de mise sous/hors tension
Get-VM MaVM | Get-VIEvent | Where { $_.FullFormattedMessage -like "*Power*" }
Migration
# Storage vMotion
Get-VM MaVM | Move-VM -Datastore (Get-Datastore "DatastoreCible")
# Changer de PortGroup réseau
Get-VM -Location (Get-Folder "MonDossier") |
Get-NetworkAdapter |
Where { $_.NetworkName -eq "Reseau A" } |
Set-NetworkAdapter -NetworkName "Reseau B" -Confirm:$false
# Arrêt propre de l'invité
Shutdown-VMGuest -VM (Get-VM -Name "vserver1")
Snapshots
Get-VM MaVM | Get-Snapshot | Select-Object -Property Name, Description, Created, SizeMB | Format-List *
New-Snapshot -Name "Avant changement XYZ" -Description "Snapshot planifié" -Memory -Quiesce -VM $vms
# Rollback sur plusieurs VMs
foreach ($vm in $vms) {
Set-VM -VM $vm -Snapshot (Get-Snapshot -VM $vm -Name "Avant changement XYZ") -Confirm:$false
}
# Suppression / fusion des snapshots
foreach ($vm in $vms) {
Remove-Snapshot -Snapshot (Get-Snapshot -VM $vm -Name "Avant changement XYZ") -Confirm:$false
}