09.10.2014, 11:07 Uhr

Hyper-V, Citrix und VMware per PowerShell verwalten

Virtualisierungslösungen wie Microsofts Hyper-V oder Produkte von VMware oder Citrix lassen sich ganz trefflich mit der PowerShell verwalten. Dabei helfen Erweiterungen oder kostenlose Skripte sowie Tipps, die folgender Beitrag erläutert.
Der Artikel wurde ursprünglich in unserer Schwesterpublikation Tecchannel.de veröffentlicht. Damit Sie mit der PowerShell von einem Rechner im Netzwerk auf die einzelnen Virtualisierungslösungen zugreifen können, gilt es einige, kleine, Voraussetzungen schaffen. In Windows 8.1 und Windows Server 2012 R2 müssen Sie für die Verwaltung von Hyper-V über die PowerShell oder der grafischen Oberfläche die Remoteserver-Verwaltungstools installieren und die Verwaltungswerkzeuge von Hyper-V installieren. Für Citrix XenServer stellt der Hersteller eine eigene Erweiterung für die PowerShell zur Verfügung. Sie müssen das XenServer PowerShell SDK auf dem Rechner installieren, mit dem Sie eine Verbindung aufbauen wollen. Sie finden den Download in den Dateien Ihres Citrix-Kontos. Nachdem Sie das SDK installiert haben, können Sie von dem entsprechenden Rechner aus Citrix verwalten. Wie das geht, zeigen wir Ihnen im Folgenden. Um VMware mit der PowerShell zu verwalten, benötigen Sie auf dem entsprechenden Rechner ebenfalls eine Erweiterung, PowerCLI genannt. PowerCLI laden Sie bei VMware herunter. Viele Skripte für VMware sind auch im PowerShell Code Repository zu finden. Wollen Sie sich tiefgehender mit der PowerCLI auseinandersetzen, empfehlen wir Ihnen noch das offizielle VMware-Support-Forum für PowerCLI. Den Blog der PowerCLI-Entwickler finden Sie auf der Seite von VMware ebenfalls. Eine weitere wertvolle Seite für eine Einarbeitung in PowerCLI finden Sie hier. Einige interessante Beiträge lesen Sie auch auf powercli.de. Einige Skripts und Hinweise zur Verwaltung von VMware mit der PowerCli finden Sie auch in diesem Beitrag.

Sicherheit in der PowerShell beachten

In der PowerShell ist die so genannte Ausführungsrichtlinie für Skripte gesetzt. Die Ausführungsrichtlinie bestimmt, ob Skripts ausgeführt werden dürfen und ob diese digital signiert sein müssen. Standardmässig blockiert die PowerShell Skripts. Sie können die Ausführungsrichtlinie mit dem Cmdlet Set-ExecutionPolicy ändern und mit Get-ExecutionPolicy anzeigen. Dabei stehen folgende Einstellungen zur Verfügung: ? Restricted - Standardeinstellung. Keine Skripts erlaubt. ? AllSigned - Nur signierte Skripts sind erlaubt. ? RemoteSigned - Bei dieser Einstellung müssen Sie Skripts durch eine Zertifizierungsstelle signieren lassen. ? Unrestricted - Mit dieser Einstellung funktionieren alle Skripts. Damit die PowerShell-Veraltungswerkzeuge von Citrix und VMware funktionieren, müssen Sie die Ausführungsrichtlinie bearbeiten. Lesen Sie auf der nächsten Seite: Hyper-V und die PowerShell

Hyper-V und die PowerShell

Natürlich arbeiten die PowerShell und Hyper-V umfassend zusammen. Alles was Sie benötigen, sind die Remoteserver-Verwaltungstools für Hyper-V und einen Rechner mit Windows 8.1 oder Windows Server 2012 R2. Neben den Standard-CMDlets, können Sie auch hier mit Skripten arbeiten. Da Hyper-V auch Bestandteil von Windows 8.1 Pro/Enterprise ist, können Sie die Skripte auch in diesem Bereich auf Test-Arbeitsstationen nutzen. Ein kleines Skript kann zum Beispiel Hyper-V in Windows 8.1 direkt in der PowerShell installieren: Get-WindowsOptionalFeature -Online -FeatureName *hyper-v*all | Enable-WindowsOptionalFeature -Online Mit diesem Befehl können Sie eine Testumgebung aufbauen. Sie können dazu den Befehl in einem Skript verwenden und dieses auch noch ausbauen. In der TechNet finden Sie dazu ein passendes Beispiel-Skript. Es gibt aber eine Vielzahl weiterer Skripts für Hyper-V, die bei der Verwaltung der Virtualisierungsumgebung helfen: ? Deleting a snapshot sub-tree-via PowerShell - Das Skript löscht alle Snapshots eines virtuellen Servers auf einmal. ? Script to attach a USB device to a virtual machine - Das Skript kann die Anbindung von USB-Festplatten direkt an VMs über die PowerShell durchführen. ? PowerShell Management Library for Hyper-V - Hier erhalten Sie einige Erweiterungen für Hyper-V, die zumindest in den Vorgängerversionen von Windows Server 2012 R2 noch nicht enthalten waren. ? GUI Hyper-v Manager for Server 2012 core console using Powershell - Das Skript bietet die Möglichkeit Core-Server in Hyper-V über eine grafische PowerShell-Oberfläche zu verwalten.

PowerShell für VMware

Für PowerCLI muss auf dem Rechner mindestens das .NET Framework 2.0 installiert sein. In Windows 8.1 verwenden Sie dazu am besten den Assistenten zum Hinzufügen von Windows-Komponenten. Diesen starten Sie über die Eingabe von optionalfeatures auf der Startseite von Windows 8.1.
Wenn Sie PowerCLI heruntergeladen und auf dem Server installiert haben, können Sie in der Konsole eine Verbindung aufbauen. Starten Sie zunächst die Verknüpfung der PowerCLI. Haben Sie PowerCLI gestartet, müssen Sie zunächst mit Connect-VIServer eine Verbindung zum ESX-Host oder einem vCenter-Server aufbauen. Mit Connect-VIServer -Server -Protocol https -User -Password bauen Sie eine Verbindung auf. Allerdings sollten Sie bei der professionellen Verwendung von Skripten die Meldung der Zertifikate ausschalten. Dazu rufen Sie PowerCLI mit Administratorrechten auf und geben den folgenden Befehl ein: Set-PowerCLIConfiguration -InvalidCertificateAction ignore Erhalten Sie eine positive Rückmeldung, funktioniert die Anbindung und Sie können mit der PowerShell des lokalen Rechners auf vSphere zugreifen. Achten Sie aber darauf, vor der Ausführung der PowerCLI und der Verwendung der Skripte zunächst die Ausführungsrichtlinie zu konfigurieren. Dazu müssen Sie erst eine normale PowerShell-Sitzung mit Administratorrechten starten. Mit Get-VICommand werden alle verfügbaren Befehle für VMware angezeigt. Auf der Seite Virtu-Al.Net finden Sie eine umfangreiche Liste verschiedener Skripte. Für jedes Skript erhalten Sie auf der Seite eine umfassende Hilfe, eine Beschreibung und einen Download-Link. Geht es um die automatisierte Bereitstellung mehrerer virtueller Maschinen, sollten Sie sich das Skript auf der Seite VMwaremine ansehen. Das Skript ist vor allem bei der Erstellung einer grosser Anzahl von VMs sehr hilfreich. Das Skript «PowerCLI script to report Guest OS disk usage» gibt Ihnen eine gute Übersicht zum Datenspeicher in VMware. Vor allem, wenn der Platz ausgeht und Sie wissen wollen, welche VM wieviel Platz benötigt, ist das Skript eine wertvolle Hilfe. Geht es um die Berichte-Erstellung in VMware, hilft Ihnen das Skript «PowerCLI - vulnerability report script. Es erzeugt eine CSV-Datei und kann den Sicherheitsbericht auch per E-Mail versenden. In diesem Zusammenhang spielt auch das Skript «PowerCLI script to report and change host NTP settings eine wichtige Rolle. Es informiert über die Zeiteinstellungen des Hosts und deren Auswirkungen auf die VMs. Aber auch für die Hochverfügbarkeit mit vMotion gibt es Skripte um zum Beispiel VMs zwischen Clusterknoten zu verschieben. Das Skript PowerCLI - vMotion VM between clusters migriert VMs, Switches und Speicher zwischen Knoten. Lesen Sie auf der nächsten Seite: VMware-Skripte über Batch-Dateien und Aufgabenplanung starten

VMware-Skripte über Batch-Dateien und Aufgabenplanung starten

Sie können Skripte in VMware auch über eine Batch-Datei auf dem Rechner starten. Dazu müssen Sie einfach die PowerShell über die Batchdatei starten, das VMware-Modul laden und anschliessend das Skript starten lassen. Dazu verwenden Sie zum Beispiel folgende Syntax: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command " Um das Skript zu starten, müssen Sie dann nur noch die Batch-Datei doppelklicken. Wenn Sie die Skripte oder auch Batchdateien über die Windows-Aufgabenplanung starten wollen, hilft ein weiteres Skript bei der Einrichtung. Die Anleitung dazu finden Sie hier.

Automatisches Herunterfahren aller Server per Skript

Wenn Sie sich bereits etwas mit PowerCLI auseinandergesetzt haben, können Sie sich das Skript zum automatischen Herunterfahren aller VMs und Server im Netzwerk ansehen.
Sinnvoll ist der Einsatz, wenn Sie grössere Wartungsmassnahmen durchführen wollen, oder ein Stromausfall nicht durch die USV abgefangen werden kann. Wenn Sie das Skript heruntergeladen und an Ihre Bedürfnisse angepasst haben, können Sie es im Notfall jederzeit verwenden um die VMs in der Reihenfolge herunterfahren zu lassen, in der Sie diese in vCenter/ESX festgelegt haben. Erkennt das Skript, dass sich einige VMs nicht herunterfahren lassen, werden diese nach einiger Zeit automatisch ausgeschaltet. Wie Sie bei der Verwendung vorgehen, lesen Sie direkt auf der Download-Seite des Entwicklers. Die notwendigen Daten können Sie auch über PowerShell ISE in das Skript eintragen und danach speichern. Natürlich können Sie das Skript mit eigenen Befehlen erweitern.

Citrix XenServer mit PowerShell verwalten und per Skript automatisieren

Ähnlich wie bei VMware mit der PowerCLI, brauchen Sie auch für die PowerShell-Verwaltung von Citrix XenServer eine Erweiterung. Dazu melden Sie sich mit Ihrem Citrix-Konto an und suchen nach Citrix PowerShell SDK. Laden Sie sich die neuste Version herunter, und installieren Sie diese auf einem Rechner.
Eine Verbindung zum XenServer brauen Sie mit Connect-XenServer auf. Eine Liste aller VMs erhalten Sie mit Get-XenVM. Um XenServer etwas zu automatisieren, können Sie dieses Skript nutzen. Es verbindet sich mit Xen und ruft wichtige Informationen zu den VMs ab. Das vermeidet, dass Fehler das Skript zum Absturz bringen, wenn etwas nicht funktioniert. Sie starten die PowerShell mit den Citrix-CMDlets über eine eigene Verknüpfung. Alle Befehle zeigen Sie mit Get-CtxCommand an. In der Microsoft TechNet-Gallery finden Sie ebenfalls das eine oder andere PowerShell-Skript für XenServer. Das Citrix XenServer Updatescript installiert per Skript mehrere Patches auf einmal. Das ist bei der Installation und Verwaltung ziemlich hilfreich, da Sie nicht mehr Skripte einzeln installieren müssen. Auch dieses Skript können Sie selbst erweitern.


Das könnte Sie auch interessieren