VMware PowerCLI installieren, Kompatibilität prüfen, mit Host verbinden

    VMware PowerCLIPowerCLI umfasst Module für Power­Shell, mit denen sich VMware-Produkte wie vSphere, vCloud Air, vCloud Director oder Update Manager via Script bzw. Kommando­zeile ver­walten lassen. Für die Remote-Administration von Hosts bietet es mehrere Optionen zur Authentifizierung.

    VMware PowerCLI ist die wahrschlich meist­verbreitete Erweiterung von PowerShell und umfasst aktuell mehr als 500 Cmdlets zur Automatisierung der vSphere-Administration. Es erfreute sich bereits großer Beliebtheit, noch bevor das Hyper-V-Modul zum Lieferumfang des Betriebssystems gehörte.

    Interoperability Matrix konsultieren

    Während Microsoft seine Cmdlets für Hyper-V in Windows integrieren kann, müssen die Module für PowerCLI separat installiert werden. Dabei sollte man vor der Auswahl der PowerCLI-Version prüfen, ob sie sich für das Management der vorhandenen Produkte eignet.

    Aufschluss gibt hier die VMware Product Interoperability Matrix, aus der unter anderem hervorgeht, mit welchen Versionen von vSphere eine bestimmte Ausführung von PowerCLI harmoniert. Aufgrund der guten Abwärtskom­patibilität liegt man mit der neuesten Variante meistens richtig. So unterstützt PowerCLI 6.x alle vCenter- und ESXi-Server ab der Version 5.0.

    Die VMware Interoperability Matrix zeigt, welche Versionen von PowerCLI und vSphere kompatibel sind.

    Möchte man darüber hinaus wissen, welche Ausführungen von Windows und PowerShell erforderlich sind, dann kann man diese Information einer eigenen Matrix für jedes Release entnehmen. Das aktuelle PowerCLI 6.3 Release 1 unterstützt Windows 7 SP1 bis Windows 10 und bringt auch Support für PowerShell 5.0.

    Zu den weiteren Voraussetzungen gehören die .NET-Runtime 4.5.x sowie das VMware Remote Console Plugin. Letzteres wird vom PowerCLI-Setup bei Bedarf automatisch heruntergeladen und installiert.

    PowerCLI installieren und starten

    Das Herunterladen von PowerCLI ist an eine Registrierung bei VMware gebunden. Es versteckt sich auf der Download-Site unter VMware vCloud Suite => Drivers & Tools => Automation Tools and SDK(s).

    PowerCLI enthält Module für mehrere VMware-Produkte.

    Die erfolgreiche Installation von PowerCLI richtet ein eigenes Icon ein, das PowerShell startet und mit Hilfe eines Scripts automatisch die benötigten Umgebungs­variablen und Module lädt. Wenn man die manuelle Konfiguration der Umgebung vermeiden möchte, dann sollte man PowerCLI stets auf diesem Weg ausführen.

    Mit vCenter oder ESXi verbinden

    Am angepassten PowerCLI-Prompt kann man nun mit Hilfe des Cmdlets Connect-VIServer die Verbindung zu vCenter oder einem bestimmte ESXi-Host aufbauen. In der einfachsten Variante ruft man es nur mit dem Parameter -Server auf, der den Namen oder die IP-Adresse des gewünschten Rechners enthält:

    Connect-VIServer -Server vcsa-60.contoso.com

    In diesem Fall versucht PowerCLI, sich mit den Anmeldedaten des aktuellen Windows-Benutzers zu authentifizieren. Das klappt jedoch nur, wenn der betreffende vCenter-Server oder ESXi-Host Mitglied im Active Directory ist (siehe dazu: Mit VMware vCenter 6 einer AD-Domäne beitreten und VMware ESXi in das Active Directory integrieren).

    Soll ein PowerCLI-Script unter einem anderen Kontext laufen, etwa weil man es über die Aufgabenplanung startet, dann muss man Benutzername und Passwort über die Parameter User und Password mitgeben:

    Connect-VIServer -Server esxi-60-L2 -User root -Password P@ssw0rd

    Meldet man sich regelmäßig an vielen verschiedenen Servern an, dann kann man sich die Liste der zuletzt verbundenen Hosts mit Hilfe des Schalters -Menu anzeigen lassen:

    Connect-VIServer -Menu

    Durch Eingabe der Nummer des gewünschten Servers stellt das Cmdlet automatisch die Verbindung her.

    Anmeldedaten speichern

    Falls man sich nicht unter dem aktuellen Windows-Konto anmelden möchte, dann wäre es zusätzlich praktisch, wenn sich PowerCLI die Anmeldedaten merken könnte. Dafür ist das Cmdlet New-VICredentialStoreItem zuständig:

    New-VICredentialStoreItem -Host esxi-60-L2 -User root -Password P@ssword

    Der Aufruf in diesem Beispiel speichert die Daten für den Host esxi-60-L2 im Credential Store.

    Möchte man sich einen Überblick verschaffen, für welche Server die Anmelde­informationen hinterlegt wurden, dann gibt Get-VICredentialStoreItem darüber Auskunft. Einträge lassen sich von dort mit Remove-VICredentialStoreItem entfernen.

    Verbindungsdaten anzeigen

    Wenn man sich schließlich überzeugen möchte, mit welchem Host man verbunden ist, dann kann man den Wert der Variable $DefaultVIServer ausgeben:

    $defaultVIServer | fl -Property *

    Dieser Befehl zeigt zusätzlich noch eine Reihe von Eigenschaften für die bestehende Verbindung an. Diese kann man am Ende der Sitzung mit Hilfe von Disconnect-VIServer schließen.

    Keine Kommentare