Suchen

System-Administration mit Microsofts PowerShell Teil 11 Exchange Server 2007 – Verwaltung mit der PowerShell

| Autor / Redakteur: Markus Widl / Dipl.-Ing. (FH) Andreas Donner

In diesem elften und damit vorletzten Teil der PowerShell-Artikelserie zeigt IP-Insider, wie der Microsoft Exchange Server 2007 die Microsoft PowerShell zur Konfiguration und Administration nutzt.

Firma zum Thema

( Archiv: Vogel Business Media )

Schon während der Installation des Microsoft Exchange Servers 2007 wird die Bedeutung der PowerShell für den Kommunikationsprofi deutlich. Die Installation der PowerShell ist dort ein fester Setup-Schritt, noch vor den eigentlichen Exchange-Komponenten.

Mit der PowerShell möchte Microsoft eine einheitliche und standardisierte Plattform zur Administration der Betriebssysteme und Server erreichen. Der Exchange-Server befindet sich dabei in einer Vorreiterrolle, denn er ist das erste Server-Produkt, das die PowerShell mitbringt und diese direkt nutzt. In Zukunft werden wohl alle weiteren Microsoft-Server nachziehen und ebenfalls mit der PowerShell ausgeliefert werden.

Bildergalerie

Management-Konsole vs. PowerShell

Die Nutzung der PowerShell geht beim Exchange Server 2007 sogar soweit, dass die herkömmliche Management Console (MMC, Exchange Management Console) nicht alle Konfigurations- und Administrationsmöglichkeiten erlaubt. Einige Aufgaben, wie etwa die Verwaltung der öffentlichen Ordner, sind der PowerShell vorbehalten.

Bei der Nutzung der MMC wird im Hintergrund die PowerShell ausgeführt. Schon beim Start der MMC wird der Verbindungsaufbau mit der PowerShell in der Statusleiste kurz angezeigt.

PowerShell-SnapIns mit Exchange-Cmdlets

Der Basisumfang der PowerShell im Originalzustand reicht für die Exchange-Anwendung nicht aus. Deshalb werden bei der Installation des Servers PowerShell-SnapIns installiert, welche in die PowerShell geladen werden, um spezielle Exchange-Cmdlets verfügbar zu machen.

Am Einfachsten wird die so erweiterte PowerShell über die Verknüpfung Exchange Management Shell in der Exchange-Programmgruppe gestartet. Als Alternative kann der Anwender die SnapIns bei Bedarf aber auch über das Cmdlet app-pssnapin in der „normalen“ PowerShell laden:

add-pssnapin Microsoft.Exchange.Management.PowerShell.Admin

Bei der Verwendung der Exchange Management Shell-Verknüpfung erscheint ein von Seiten des Layouts leicht verändertes PowerShell-Konsolenfenster mit einigen Informationen zum Start und einem Tagestipp (siehe Abbildung 1).

Hilfe und Referenz

Mit dem Cmdlet get-excommand erhält der Anwender ähnlich wie beim get-command eine Liste der verfügbaren Cmdlets, nur dass hier ausschließlich die Befehle des Exchange-Servers angezeigt werden.

Die Entwickler des SnapIns haben sogar eine Schnellreferenz in ihr SnapIn integriert. Der Befehl quickref zeigt eine HTML-Datei an, die sämtliche Exchange-Cmdlets in Kategorien auflistet und ihren jeweiligen Einsatzzweck kurz erläutert (siehe Abbildung 2).

Beispiele der Exchange-Cmdlets

Doch nun genug der Theorie, es wird Zeit für einige Beispiele zum Einsatz der Exchange-Cmdlets. Wie IP-Insider bereits im Teil 9 „Zugriff auf das Active Directory über ADSI“ der PowerShell-Artikelserie gezeigt hat, kann über die Schnittstelle ADSI (Active Directory Service Interface) auf das Active Directory objektbasiert zugegriffen werden. Leider bringt die PowerShell selbst keinerlei Cmdlets für den einfachen Active Directory-Zugriff mit und die Anwendung von ADSI gestaltet sich nicht selten komplex.

Der Exchange-Server geht hier mit seinen Cmdlets einen deutlich eleganteren Weg. Das Anlegen eines neuen Benutzerkontos und das gleichzeitige Erstellen einer zugehörigen Mailbox gestalten sich hier recht einfach. Eine ADSI-Programmierung wird dabei nicht benötigt. Im folgenden Beispiel wird ein Benutzerkonto für Max Meier angelegt. Sein Alias soll „meier“ lauten und sein Anmeldename sowie seine E-Mail-Adresse „meier@dom.ain“. Das Konto soll in der Organisationseinheit „Finance“ abgelegt werden. Hier der vollständige Befehl:

new-mailbox -name „Max Meier“ -alias „meier“ -userprincipalname „meier@dom.ain“ -organizationalunit „Finance“ -database „Mailbox Database“

Auch das Auslesen und Ändern von Benutzerkonto-Eigenschaften ist mit den Exchange-Cmdlets get-user und set-user deutlich einfacher, als mit ADSI. Das Beispiel zeigt, wie ein Benutzerkontoobjekt geladen und anschließend dessen Telefonnummer-Eigenschaft geändert wird. Hier lässt sich die PowerShell-Pipeline einsetzen.

get-user -identity „dom\meier“ | set-user -phone „(012) 3456“

Zuletzt noch ein Beispiel zu den öffentlichen Ordnern. Diese werden beispielsweise einfach über das Cmdlet new-publicfolder angelegt.

new-publicfolder -name „Public Forms“

Fazit

Der Exchange Server 2007 gibt hier bereits einen guten Eindruck, auf welche Weise zukünftige Microsoft Server-Versionen konfiguriert und administriert werden. Durch den standardisierten Ansatz der PowerShell kann dies den Arbeitsalltag erleichtern, wenn man sich mit ihren Eigenheiten vertraut gemacht hat.

Im zwölften und letzten Teil der PowerShell-Artikelserie stellt IP-Insider einige SnapIns von Drittanbietern und der Community zur Erweiterung der PowerShell vor. Darunter sind Cmdlets für den einfachen Active Directory-Zugriff, grafische Ausgaben und Netzwerkfunktionalitäten.

Artikelfiles und Artikellinks

(ID:2005486)