Automatisierung des Erstellens neuer Postfächer in Exchange mit PowerShell

Melden
  1. Einleitung
  2. Voraussetzungen und Vorbereitung
  3. Verbindung zu Exchange herstellen
  4. Erstellen eines neuen Postfachs durch PowerShell
  5. Automatisierung mittels Skript und Eingabedatei
  6. Fehlerbehandlung und Reporting
  7. Abschluss und Aufräumarbeiten

Einleitung

Die Verwaltung von Postfächern in Microsoft Exchange ist eine häufige Aufgabe für Administratoren. Um wiederkehrende Arbeitsprozesse zu vereinfachen und Fehler zu vermeiden, bietet sich die Automatisierung mit PowerShell an. PowerShell ermöglicht es, Exchange-spezifische Cmdlets direkt auszuführen, was das Erstellen neuer Postfächer deutlich effizienter macht, insbesondere bei großen Benutzerzahlen.

Voraussetzungen und Vorbereitung

Bevor man mit der Automatisierung beginnt, müssen die entsprechenden Rechte vorliegen. Der ausführende Administrator benötigt in der Regel die Rolle "Recipient Management" oder entsprechende Berechtigungen, um neue Postfächer anlegen zu können. Zudem sollte auf dem System die Exchange-Verwaltungsshell installiert sein oder das PowerShell-Modul für Exchange Online (bei Exchange Online) konfiguriert werden. Für lokale Exchange-Server geschieht die Ausführung meist direkt auf dem Server über die Exchange Management Shell.

Verbindung zu Exchange herstellen

Bei Exchange Online erfolgt die Verbindung zu Exchange via PowerShell über Remote-Sitzungen. Dazu wird zunächst eine Sitzung mit den Anmeldedaten erstellt und importiert. Ein typisches Konstrukt sieht so aus:

$UserCredential = Get-Credential$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirectionImport-PSSession $Session -DisableNameChecking

Für lokale Installationen reicht meistens das Öffnen der Exchange Management Shell, da diese bereits alle erforderlichen Module lädt.

Erstellen eines neuen Postfachs durch PowerShell

Das zentrale Cmdlet zum Anlegen eines neuen Postfachs ist New-Mailbox. Dieses Cmdlet bietet zahlreiche Parameter, um verschiedene Arten von Postfächern zu erstellen, wie z. B. Benutzerpostfach, freigegebenes Postfach oder Linked Mailbox. Für ein klassisches Benutzerpostfach könnte ein einfacher Befehl so aussehen:

New-Mailbox -Name "Max Mustermann" -UserPrincipalName max.mustermann@firma.de -Alias mmustermann -OrganizationalUnit "domain.local/Users" -FirstName Max -LastName Mustermann -Password (ConvertTo-SecureString -String "SicheresPasswort123!" -AsPlainText -Force)

Hierbei sollte das Passwort den unternehmensinternen Sicherheitsrichtlinien entsprechen.

Automatisierung mittels Skript und Eingabedatei

Damit die Erstellung neuer Postfächer nicht manuell durch Eingabe einzelner Befehle stattfinden muss, kann man eine CSV-Datei mit den notwendigen Benutzerdaten verwenden. Das PowerShell-Skript liest diese Datei ein und legt auf Basis der enthaltenen Informationen automatisiert die Postfächer an. Die CSV-Datei könnte beispielsweise Spalten wie Name, UserPrincipalName, Alias, FirstName, LastName und Password enthalten. Das Skript wird dann so aufgebaut, dass es jede Zeile durchläuft, die Daten ausliest und den New-Mailbox-Befehl ausführt.

$users = Import-Csv -Path "C:\Scripts\NeuePostfaecher.csv"foreach ($user in $users) { $securePassword = ConvertTo-SecureString -String $user.Password -AsPlainText -Force New-Mailbox -Name $user.Name ` -UserPrincipalName $user.UserPrincipalName ` -Alias $user.Alias ` -FirstName $user.FirstName ` -LastName $user.LastName ` -Password $securePassword ` -OrganizationalUnit "domain.local/Users"}

Durch diese Methode lassen sich sehr viele Postfächer schnell und fehlerfrei erstellen, z. B. für einen ganzen neuen Mitarbeiterjahrgang oder bei Firmenübernahmen.

Fehlerbehandlung und Reporting

In einem professionellen Skript sollte zudem eine Fehlerbehandlung eingebaut werden, damit nicht bei einem Fehler das gesamte Skript abbricht, sondern der Fehler protokolliert und das Skript fortgesetzt wird. Beispielsweise kann man Try-Catch-Blöcke einsetzen und die Ergebnisse in eine Log-Datei schreiben, um später prüfen zu können, welche Postfächer erfolgreich angelegt wurden und wo Probleme aufgetreten sind.

Abschluss und Aufräumarbeiten

Nach der Ausführung empfiehlt es sich, die Sitzung bei Exchange Online wieder sauber zu schließen, um Ressourcen freizugeben:

Remove-PSSession $Session

Zusammenfassend ermöglicht ein gut strukturiertes PowerShell-Skript mit Verbindung zu Exchange die automatisierte und effiziente Erstellung neuer Postfächer. Insbesondere der Einsatz von CSV-Dateien zur Datenübergabe macht das Verfahren flexibel und skalierbar.

0
0 Kommentare