Um per PowerShell mit ESXi- oder vCenter-Servern zu kommunizieren, braucht man zunächst die PowerCLI. Früher war das noch ein Installations-Paket das man herunterladen und installieren musste. Heute ist das Paket in der PowerShell Gallery verfügbar und einfach per (elevated) PowerShell installierbar:
# Die PowerShell mit Administrator-Rechten öffnen Install-Module -Name VMware.PowerCLI
Etwaige Warnungen werden mit „j“ bestätigt, anschließend beginnt der Download und die Installation.
Die Option „Install-Module“ ist leider nicht mit PowerShell 4 und niedriger einfach so zu haben… Dafür muss man erst das hier herunterladen und installieren:
PackageManagement PowerShell Modules Preview – March 2016
Um die CMDlets nutzen zu können, müssen die Module importiert werden:
Get-Module -ListAvailable VMware* | Import-Module
Und damit die Shell auch weiß mit wem sie reden soll, muss sich zunächst mit einen ESXi- oder vCenter-Server verbunden werden:
Connect-VIServer -Server "ServerName/FQDN/IP" -User "Username" -Password "Password"
Da der Connect per Default via HTTPS passiert, kommt bei nicht vertrautem Zertifikat oder nicht passender Adresse eine Zertifikats-Warnung.
Jetzt kann begonnen werden! Ihr wisst nicht womit? Eine Liste aller verfügbaren Befehle findet sich wie folgt:
Get-VICommand
Der Rest ist dasselbe wie immer:
- Ihr könnt nur das machen, worauf der User der für den Connect genutzt wurde berechtigt ist.
- PowerShell bleibt PowerShell. Soll heißen: Die Art und Weise wie ihr skriptet oder adressiert, etc. bleibt wie gehabt.
- „Get“ ist ok, bei „Set“, etc. lieber mehrmals überlegen ob auch alles passt. 🙂