VMware PowerCLI installieren, Kompatibilität prüfen, mit Host verbinden
PowerCLI umfasst Module für PowerShell, mit denen sich VMware-Produkte wie vSphere, vCloud Air, vCloud Director oder Update Manager via Script bzw. Kommandozeile verwalten lassen. Für die Remote-Administration von Hosts bietet es mehrere Optionen zur Authentifizierung.
VMware PowerCLI ist die wahrschlich meistverbreitete 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ärtskompatibilitä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.
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).
Die erfolgreiche Installation von PowerCLI richtet ein eigenes Icon ein, das PowerShell startet und mit Hilfe eines Scripts automatisch die benötigten Umgebungsvariablen 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 Anmeldeinformationen 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.
Ähnliche Beiträge
- SecretsManagement: PowerShell erhält Modul für Passwort-Manager
- SSH-Remoting in PowerShell Core mit Public-Key-Authentifizierung nutzen
- Tool für Maximalwerte in VMware vSphere, Poster für Cmdlets in PowerCLI 10
- VMware PowerCLI 10.0 für Windows, macOS und Linux: Installation, Anmeldung an vSphere, Upgrade
- Platform Services Controller und vCenter SSO: Konzept und Konfiguration
Weitere Links
- Technisches Webinar zu Active Directory: Benutzerverwaltung automatisieren, Aufgaben delegieren, unerwünschte Änderungen erkennen
- Technisches Webinar: Passwort im Active Directory zurücksetzen, Konto entsperren, AD-Infos ändern als Self Service
- Runecast Analyzer: Konfigurationsfehler und Inkompatibilitäten in VMware-Umgebungen erkennen
Keine Kommentare