Abwesenheitsassistenten in Exchange-Online über PowerShell setzen

In diesem Artikel beschreibe ich kurz, wie wir mit der PowerShell den Abwesenheitsassistenten in Exchange-Online für ein beliebiges Postfach setzen können. So brauchen wir uns nicht als der Benutzer anmelden und entsprechende Anmeldeinformationen kennen.


Um die E-Mail Weiterleitung und eine Abwesenheitsnotiz für ein Postfach zu hinterlegen, müssen wir uns im ersten Schritt mit der PowerShell-Schnittstelle der Exchange-Online Instanz verbinden. Dazu verwenden wir den folgenden Befehl:

Connect-ExchangeOnline

Dort angekommen, können wir erstmal testen, ob wir überhaupt das E-Mail-Postfach mit der PowerShell erreichen können. Dazu verwenden wir den Befehl Get-MailBox <E-Mail Adresse>.

E-Mail Weiterleitung einrichten

Um eine E-Mail Weiterleitung an eine E-Mail-Adresse weiterzuleiten, kann der folgende Befehl verwendet werden. Hier muss natürlich noch die E-Mail-Adresse eingetragen und eingestellt werden, ob die E-Mail im Empfänger-Postfach bleiben oder gelöscht werden soll.

Set-Mailbox mail@mailadresse.de -ForwardingSmtpAddress ziel@mailadresse.de -DeliverToMailboxAndForward $true

Wenn man die E-Mails an ein internes M365-Objekt (z.B. Shared-Postfach) weiterleiten möchte, kann man den folgenden Befehl verwenden:

Set-Mailbox mail@mailadresse.de -ForwardingAddress ziel@mailadresse.de -DeliverToMainboxAndForward $true

Um eine Weiterleitung wieder zu entfernen, kann der folgende Befehl verwendet werden:

Set-Mailbox mail@mailadresse.de -ForwardingAddress $null -ForwardingSmtpAddress $null -DeliverToMailboxAndForward $false

Abwesenheitsnotiz setzen

Um eine Abwesenheitsnotiz zu setzen, kann der folgende Befehl verwendet werden:

# Zeitraum-basiert
Set-MailboxAutoReplyConfiguration -Identity mail@mailadresse.de `
  -AutoReplyState Scheduled `
  -StartTime "23.09.2025 18:00" `
  -EndTime   "30.09.2025 08:00" `
  -InternalMessage @"
Hallo,
ich bin bis 30.09.2025 nicht im Büro. In dringenden Fällen wenden Sie sich bitte an support@mailadresse.de.
"@ `
  -ExternalMessage @"
Hello,
I’m out of office until Sep 30, 2025. For urgent matters please contact support@mailadresse.de.
"@ `
  -ExternalAudience All   # nur bekannte externe: Known; alle externen: All

# unbefristet aktivieren (bis man wieder deaktiviert)
Set-MailboxAutoReplyConfiguration -Identity user@deinefirma.de `
  -AutoReplyState Enabled `
  -InternalMessage "..." `
  -ExternalMessage "..." -ExternalAudience All

Um eine Abwesenheitsnotiz dann wieder zu entfernen, muss einfach der folgende Befehl ausgeführt werden:

Set-MailboxAutoReplyConfiguration -Identity mail@mailadresse.de -AutoReplyState Disabled

Status überprüfen

Um zu überprüfen, ob alles richtig gesetzt wurde, können die folgenden Befehle verwendet werden:

Get-Mailbox mail@mailadresse.de | fl Forwarding*,DeliverToMailboxAndForward
Get-MailboxAutoReplyConfiguration -Identity mail@mailadresse.de