VMware PowerCLI, vCenter ve ESXi ortamlarını PowerShell üzerinden yönetmek ve raporlamak için kullanılan VMware otomasyon araç setidir. Özellikle envanter, kapasite, snapshot ve tekrarlanan operasyonlarda GUI’ye göre daha standardize bir yönetim sağlar.
Ön Koşullar
PowerShell ve ortamınızla uyumlu VMware PowerCLI modülleri gerekir. Kurulum/güncelleme öncesinde kullandığınız PowerShell ve VMware platform sürümünün destek durumunu doğrulayın.
Find-Module VMware.PowerCLI
Install-Module VMware.PowerCLI -Scope CurrentUser
vCenter’a Bağlanma
Connect-VIServer -Server vcsa.example.local
Parolayı script içine düz metin olarak gömmeyin. Otomasyon hesabında minimum yetki ve uygun secret/credential yönetimi kullanın.
VM Envanteri
Get-VM | Select-Object Name, PowerState, NumCpu, MemoryGB
ESXi Host Durumu
Get-VMHost | Select-Object Name, ConnectionState, PowerState, Version
Datastore Kapasitesi
Get-Datastore | Select-Object Name, CapacityGB, FreeSpaceGB
Kapasite trendi için çıktıyı periyodik raporlayın. Datastore sorunu varsa VMware Datastore Doluyor rehberine geçin.
Snapshot Envanteri
Get-VM | Get-Snapshot | Select-Object VM, Name, Created, SizeGB
Snapshot listesini topluca silme scriptine dönüştürmeden önce owner, backup job ve değişiklik nedenini doğrulayın. Snapshot/Consolidation Troubleshooting rehberini kullanın.
VM Güç İşlemleri
Get-VM -Name 'LAB-SRV01' | Start-VM
Get-VM -Name 'LAB-SRV01' | Stop-VMGuest
Üretimde hedef VM’i filtrelemeden toplu power operasyonu çalıştırmayın. Guest shutdown ile hard power-off aynı işlem değildir.
CSV Raporu
Get-VM |
Select-Object Name, PowerState, NumCpu, MemoryGB |
Export-Csv .\vm-inventory.csv -NoTypeInformation -Encoding UTF8
Güvenli Otomasyon İlkeleri
- Önce read-only inventory scriptleriyle başlayın.
- Destructive cmdlet’lerde hedef listesini işlem öncesi gösterin.
- Credential’ı kod içine yazmayın.
- Tek VM/pilot grubunda doğrulamadan geniş kapsamlı değişiklik yapmayın.
- Task/Event ve script loglarını birlikte saklayın.
Bağlantıyı Kapatma
Disconnect-VIServer -Server * -Confirm:$false
Sonuç
PowerCLI’nin asıl değeri tek komutla çok işlem yapmak değil; VMware operasyonlarını ölçülebilir, raporlanabilir ve tekrar edilebilir hale getirmektir. İlk aşamada envanter ve health raporları, ardından kontrollü değişiklik otomasyonu geliştirin.
