Kurz notiert:
Dank PowerShell lassen sich bei Microsoft Exchange – in meinem Fall Exchange Online, also ein hosted Exchange – Änderungen gleich für mehrere oder sogar alle Nutzer ausführen. Vor allem bei Änderungen, die normalerweise nicht über die Adminoberfläche administrierbar sind, sondern über den Nutzer direkt eingestellt werden müssen, lohnt sich das enorm.
Verbindung zu Exchange Online in PowerShell herstellen
In PowerShell folgende Befehle nacheinander eingeben:
$UserCredential = Get-Credential
An dieser Stelle dann die Mail-Credentials eines Exchange Admins eingeben.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Speichert die Verbindung zu Exchange Online mit den Credentials in ein Objekt
Import-PSSession $Session
Lädt das Session Objekt
Anschließend könnt ihr auf dem Exchange Befehle ausführen, beispielsweise
Get-Mailbox
In den folgenden Beispielen soll die Abwesenheitsmeldung bzw. Automatische Antwort eingestellt werden. Diese Einstellung eines Nutzers lässt sich mit folgenden Befehl abrufen:
Get-MailboxAutoReplyConfiguration -Identity hs@barketing.de
Änderungen für einzelne Benutzer
Aktivieren ohne zeitliche Einschränkung:
Set-MailboxAutoReplyConfiguration -Identity hs@barketing.de -AutoReplyState Enabled -ExternalAudience All -ExternalMessage "Guten Tag<br>Bla bla bla, Urlaub bla.<br>Mit freundlichen Grüßen"
Aktivieren mit Start- und Endzeitpunkt:
Set-MailboxAutoReplyConfiguration -Identity hs@barketing -AutoReplyState Scheduled -StartTime "11/11/2013 00:00" -EndTime "11/13/2013 18:00" -ExternalAudience All -InternalMessage "Guten Tag<br>Bla bla bla, Urlaub bla.<br>Mit freundlichen Grüßen"
(via)
Änderungen für mehrere/alle Benutzer
Anhand des Pipe-Operators
|
können wieder Ausgaben eines Befehls an den nächsten Befehl zur Weiterverarbeitung übergeben werden.
Alle Benutzer:
Get-Mailbox | Set-MailboxAutoReplyConfiguration -AutoReplyState Enabled -ExternalAudience All -ExternalMessage "Guten Tag<br>Bla bla bla, Urlaub bla.<br>Mit freundlichen Grüßen"
Über
Get-Mailbox
werden alle Mailkonten geladen und an den
Set
-Befehl übergeben, der dadurch keinen
Identity
-Parameter mehr braucht.
Hinweis: Die Massenverarbeitung dauert natürlich entsprechend lange – für die 30 Nutzer bei uns hat der Befehl 4 Minuten gebraucht. Also nicht ungeduldig werden.
Mit Benutzervorauswahl:
Get-User | where {$_.Department -eq "Sales"} | Get-Mailbox | Set-MailboxAutoReplyConfiguration -AutoReplyState Enabled -ExternalAudience All -ExternalMessage [...]
Somit werden Nutzer erst durch den
where
-Befehl gefiltert, deren Postfächer geladen und weitergegeben. (via)
Typisches Problem – es funktioniert nicht
Wichtig:
Damit AutoReply-Regeln tatsächlich auch funktionieren, müssen in den Mailkonten auch wirklich E-Mails eingehen.
Bei Konten, die ihre E-Mails nur via SMTP weiterleiten und keine lokale Kopie der Mails in ihrem Postfach empfangen, funktioniert das Auto-Reply deswegen nicht.
Neben den AutoReply-Einstellungen muss demnach auch die Einstellung, dass beim Weiterleiten der Mails eine lokale Kopie behalten werden soll, gesetzt werden.
Einen Überblick über die Weiterleitungseinstellungen aller Nutzer bekommt ihr mit diesem Befehl:
Get-Mailbox | FL DeliverToMailboxAndForward, ForwardingAddress, ForwardingSmtpAddress
Mit diesem schnellen Überblick könnt ihr euch entweder selbst die Nutzer raussuchen, die eine Weiterleitung eingerichtet haben jedoch keine lokalen Kopien in ihr Postfach kriegen (und somit auch keine Automatische Antwort abschicken).
Oder ihr nutzt einfach folgenden Befehl. Dieser aktiviert diese Einstellung der lokalen Kopie für alle Benutzer, die eine Weiterleitung (intern sowie extern) eingerichtet haben:
Get-Mailbox | Where {$_.ForwardingSmtpAddress -ne $Null -OR $_.ForwardingAddress -ne $Null} | Set-Mailbox -DeliverToMailboxAndForward $True
(via)
Hosted Exchange Server? Heißt das, dass all eure Mitarbeiterdaten in der Cloud liegen? 😮
Das ist das Prinzip hinter allen Microsoft „Exchange Online“ Plänen, ja.
Wir sind jetzt jedoch im Zuge des Mergers zu LEAP auch umgestiegen von Microsoft auf einen anderen Anbieter.