Mit PowerShell-Scripting holen Sie mehr Leistung aus Microsoft Exchange

Wenn Sie sich noch nicht mit PowerShell-Scripting beschäftigt haben, sollten Sie damit anfangen. Damit holen Admins mehr Leistung aus Exchange heraus.

Mit Exchange Server 2003 hat Microsoft die Ära der GUI-orientierten Exchange-Server-Verwaltung beendet. Bis zu dieser Version haben Administratoren vor allem die grafische Oberfläche für die Verwaltung von Exchange genutzt. Befehlszeilen-Tools waren nur ein Zusatz.

Exchange Server 2007 und Exchange Server 2010 sowie die aktuelle Exchange-Server-Version Exchange 2013 erlauben Administratoren zwar immer noch die Verwaltung über eine GUI, allerdings war Exchange Server 2007 die erste Serveranwendung, die die PowerShell für Automatisierung durch die Exchange Management Shell (Verwaltungsshell, EMS) verwendete. Damit war klar: PowerShell wird der De-facto-Standard für das befehlszeilenorientierte Management und für die Automatisierung. Administratoren sind daher auch in Zukunft gezwungen, PowerShell-Scripting zu erlernen.

PowerShell rückt in den Mittelpunkt

Mit Exchange 2010 ist Microsoft noch stärker in Richtung PowerShell gegangen. Alle Befehle, die Administratoren in der GUI ausführen, verwenden im Hintergrund Befehle in der Verwaltungsshell. Diese lassen sich in der GUI sogar anzeigen. Dazu gibt es in der grafischen Oberfläche in jedem Fenster ein Icon in der linken unteren Ecke. Hier können die Cmdlets der Shell angezeigt werden.

Abbildung 1: In der Exchange-Verwaltungskonsole von Exchange Server 2010 können Administratoren Befehle aus der PowerShell anzeigen lassen.

In Exchange 2013 ist die Verwaltung über die Verwaltungsshell der bevorzugte Weg zur Konfiguration von Exchange. Die grafische Oberfläche besteht nur noch aus einer Webschnittstelle, die ebenfalls Befehle in der Verwaltungsshell ausführt. Auch diese lassen sich seit Exchange 2013 SP1 in der Weboberfläche anzeigen.

Die PowerShell hat ihre Wurzeln in Monad (MSH) – ein Microsoft-Projekt für die Kommandozeilen-Automatisierung, die im Jahr 2002 gestartet wurde. Damals drehte sich die Automatisierung in der Windows-Welt mehr oder weniger rund um Windows Script Host. 

Weitere Möglichkeiten für Administratoren, Skripte zu schreiben, waren JScript oder VBScript sowie spezifische Tools wie Netsh oder WMIC. Allerdings war die Benutzerfreundlichkeit dieser Tools und Features eingeschränkt. Viele Scripting-Anwendungen hingen von den APIs dieser Anwendungen ab.

PowerShell 1.0, die 2006 eingeführt wurde, baut auf dem .NET Framework auf und ist ein erweiterbares Windows Management Framework. Dies erlaubt es Microsoft, aber auch anderen Anbietern, Snap-Ins zur Verfügung zu stellen, die die Funktionalität der Shell erweitern. Dies ermöglicht es zudem, Komponenten oder Anwendungen von Drittanbietern mit einer einzigen Sprache – PowerShell – zu managen.

Die Sprache bleibt gleich, egal welche Module geladen sind. Um PowerShell-Scripting zu lernen, müssen Sie sich nur mit der Komponente oder produktspezifischen Cmdlets vertraut machen. 

Sie können Aufgaben durch logische Kombination mit Cmdlets in Skripts automatisieren. Scripts können problemlos ausgeführt werden, und standardisierte Aufgaben lassen sich aus der Shell leicht erstellen, sodass das Verfahren wiederholbar und weniger Fehleranfällig ist.

Erste Erfahrung mit der PowerShell

Was die PowerShell einzigartig macht, ist die Möglichkeit, über eine sogenannte Pipeline die Ausgabe eines Cmdlet als Eingabe für ein anderes Cmdlet zu verwenden. Wenn ein Cmdlet A einen Satz von Postfächern ausgibt, haben Sie auch dann noch Zugriff auf alle Eigenschaften und Daten dieser Postfächer, wenn diese Ausgabe zu Cmdlet B weitergegeben wird. 

Dies unterscheidet es von Unix, wo der Pipeline-Mechanismus textorientiert ist. Mit PowerShell 2.0 hat Microsoft das PowerShell-Remoting eingeführt. Mit dieser Funktion können Sie Skripts oder Cmdlets gegen einen oder mehrere Remote-Systeme laufen lassen.

Beginnend mit Exchange 2010 wurde das Erlernen der PowerShell beziehungsweise Exchange-Verwaltungsshell besonders wichtig. Denn ab dieser Version waren bestimmte Funktionen und Optionen nur über die Shell konfigurierbar. 

Es gab keine Möglichkeit, diese Einstellungen in der grafischen Oberfläche auszuführen. Die Exchange-Verwaltungskonsole und das Exchange Administrative Center in Exchange Server 2013 dienen nur noch als Schnittstelle dazu, Cmdlets zu erstellen und auszuführen.

Microsoft Office 365 bietet den gleichen Satz von Cmdlets, sodass Administratoren dieses Wissen nutzen können, um Office 365 verwalten zu können. Das spielt vor allem in Hybrid-Umgebungen eine wichtige Rolle.

Exchange 2007 und 2010 sind gut dazu geeignet, sich mit Exchange-Cmdlets vertraut zu machen. Sie können Cmdlets in der Exchange-Verwaltungskonsole anzeigen. Über eine solche Funktion verfügt Exchange 2013 nicht. Microsoft hat diesen Fehler behoben, sodass sich seit Exchange 2013 Service Pack 1 auch hier die Befehle anzeigen lassen. Wenn Sie die Option im Exchange Administrative Center aktivieren, zeigt das Fernster die letzten 500 Cmdlets, die Sie ausgeführt haben.

Diese Option ist zwar nicht so hilfreich wie die Anzeige dieser Cmdlets vor der Ausführung. Dennoch bietet die neue Funktion die Möglichkeit, sich die Cmdlets anzeigen zu lassen, sodass sich Administratoren besser an die Verwendung der PowerShell gewöhnen können. Sie können auf diesem Weg PowerShell-Skripte erlernen. 

Welche Cmdlets ausgeführt werden, erfahren Sie, wenn Sie Aktionen in der GUI ausführen, und Sie sehen auf einen Blick, welche Einstellungen Sie im Rahmen Ihrer Sitzung im Exchange Administrative Center abgearbeitet haben. Die Ausgabe können Sie außerdem für Dokumentationszwecke oder als Grundlage für Skripte exportieren.

Mit der Exchange-Verwaltungsshell auseinandersetzen

Wenn Sie sich bislang mit der Exchange-Verwaltungsshell noch nicht ausführlich beschäftigt haben, sollten Sie das nun nachholen und sich mit dieser Schnittstelle vertraut machen. Lernen Sie als Erstes, was mit den Cmdlets und Skripts passiert. Wie Sie das anstellen – in und mit der Praxis lernen oder lieber auf Bücher und Fachbeiträge zurückgreifen –, ist Geschmackssache und bleibt Ihrer Entscheidung vorbehalten.

Zwei Ressourcen sind hierbei empfehlenswert, die viele praktische Beispiele zeigen: das Microsoft Exchange 2013 Cookbook von Michael van Horenbeeck (Exchange MVP / MCM) und Peter de Tender (MCT) sowie das Microsoft Exchange Server 2013 PowerShell Cookbook von Mike Pfeiffer (Exchange MCM) und Jonas Andersson (MSFT).

Folgen Sie SearchEnterpriseSoftware.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Oktober 2014 aktualisiert

Erfahren Sie mehr über Collaboration-Software

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close