Automatische Einrichtung von wiederkehrenden E-Mail-Weiterleitungen in Exchange mit PowerShell
- Verbindung mit Exchange Online oder lokalem Exchange-Server
- Einrichtung einer einfachen E-Mail-Weiterleitung
- Wiederkehrende oder automatisierte Einrichtung mehrerer Weiterleitungen
- Alternative: Einrichtung von Mail-Flow-Regeln für komplexe Weiterleitungen
- Planmäßige Ausführung und Automatisierung
- Zusammenfassung
In Exchange-Umgebungen ist es oft erforderlich, dass E-Mails automatisch an eine oder mehrere Adressen weitergeleitet werden. Dies kann für bestimmte Postfächer oder auch für eine ganze Gruppe von Benutzern notwendig sein, beispielsweise zur Archivierung, Überwachung oder Ausfallsicherheit. Mit PowerShell lassen sich solche Weiterleitungen automatisiert und wiederkehrend einrichten, was insbesondere bei großen Organisationen eine erhebliche Zeitersparnis und Konsistenz gewährleistet.
Verbindung mit Exchange Online oder lokalem Exchange-Server
Bevor Weiterleitungen eingerichtet werden können, muss zunächst eine PowerShell-Sitzung mit Exchange hergestellt werden. Bei Exchange Online verwendet man in der Regel das Exchange Online PowerShell-Modul (V2) und meldet sich mit Connect-ExchangeOnline an. Bei einer lokalen Exchange-Installation nutzt man die Exchange Management Shell oder bindet das entsprechende PowerShell-Modul ein.
Für Exchange Online können Sie sich wie folgt verbinden:
Import-Module ExchangeOnlineManagementConnect-ExchangeOnline -UserPrincipalName admin@ihredomain.deAlternativ kann man bei On-Premises Exchange direkt die Exchange Management Shell starten, welche bereits alle benötigten Module enthält.
Einrichtung einer einfachen E-Mail-Weiterleitung
In Exchange lassen sich Weiterleitungen entweder mit dem Cmdlet Set-Mailbox für einzelne Benutzer konfigurieren oder mit Transportregeln (auch Mail-Flow-Regeln genannt) für komplexere Szenarien.
Um für ein einzelnes Postfach eine direkte Weiterleitung einzurichten, kann man folgenden Befehl verwenden:
Set-Mailbox -Identity "benutzer@ihredomain.de" -ForwardingSMTPAddress "weiterleitung@andereadresse.de" -DeliverToMailboxAndForward $trueDabei bedeutet -ForwardingSMTPAddress, wohin die E-Mails weitergeleitet werden sollen, und -DeliverToMailboxAndForward $true stellt sicher, dass die E-Mails zusätzlich im ursprünglichen Postfach verbleiben.
Wiederkehrende oder automatisierte Einrichtung mehrerer Weiterleitungen
Wenn Sie diese Einrichtung wiederholt oder für viele Postfächer automatisieren wollen, bietet sich ein PowerShell-Skript an, welches eine Liste von Benutzern liest und die Weiterleitung entsprechend setzt. Beispielhaft kann eine CSV-Datei als Eingabequelle dienen, welche Benutzer und Zieladressen enthält.
Ein einfaches Skript könnte so aussehen:
$weiterleitungen = Import-Csv -Path "C:\Scripts\weiterleitungen.csv"foreach ($eintrag in $weiterleitungen) { Set-Mailbox -Identity $eintrag.Identity ` -ForwardingSMTPAddress $eintrag.ForwardTo ` -DeliverToMailboxAndForward $true Write-Host "Weiterleitung für" $eintrag.Identity "nach" $eintrag.ForwardTo "eingestellt."}Die CSV-Datei hat das Format:
Identity,ForwardTobenutzer1@ihredomain.de,weiterleitung1@extern.debenutzer2@ihredomain.de,weiterleitung2@extern.deAlternative: Einrichtung von Mail-Flow-Regeln für komplexe Weiterleitungen
Eine andere Möglichkeit ist die Verwendung von Transportregeln, wenn die Weiterleitung unabhängig vom Postfach oder für bestimmte Bedingungen gelten soll. Transportregeln können anhand von Absender, Empfänger, Betreff oder anderen Kriterien Weiterleitungen auslösen und lassen sich ebenfalls per PowerShell erstellen.
Zum Beispiel kann man eine Transportregel so anlegen:
New-TransportRule -Name "Weiterleitung an Archiv" ` -From "abteilung@ihredomain.de" ` -RedirectMessageTo "archiv@ihredomain.de"Transportregeln laufen auf Mailbox- oder Server-Ebene und bieten daher eine zentralisierte Möglichkeit Wiederholungen zu automatisieren und auf verschiedene Szenarien zu reagieren. Auch diese Regeln lassen sich via Skript erzeugen, modifizieren und löschen.
Planmäßige Ausführung und Automatisierung
Um diese Weiterleitungen regelmäßig zu überprüfen oder neu zu setzen – beispielsweise wenn sich Adressen ändern oder neue Benutzer hinzukommen – empfiehlt sich die Verwendung von Windows Task Scheduler in Kombination mit PowerShell-Skripten. Dabei wird das Skript zu bestimmten Uhrzeiten ausgeführt, liest aktuelle Daten ein und passt die Einstellungen automatisch an.
Zusätzlich kann man Logging einbauen, um Änderungen zu protokollieren und bei Bedarf Fehler zu analysieren. Ein typisches erweitertes Skript speichert daher Ausgaben in einer Logdatei.
Zusammenfassung
Die automatische Einrichtung von wiederkehrenden E-Mail-Weiterleitungen in Exchange mittels PowerShell erfolgt primär über das Set-Mailbox-Cmdlet für einzelne Postfächer oder über New-TransportRule für serverseitige Regeln. Die Verbindung zu Exchange (Online oder On-Premises) ist Voraussetzung, und mit ein wenig Planung lassen sich diese Aufgaben durch Skripte und Zeitplanung vollständig automatisieren. Dabei sind Eingabedateien wie CSV oder zentrale Datenquellen besonders hilfreich, um Änderungen dynamisch zu verwalten und so eine skalierbare, wartbare Lösung zu schaffen.