Tags: Exchange, PowerShell, Storage, Active Directory
Der Lebenszyklus eines Postfaches von der Anlage bis zur Löschung lässt sich durchgängig über die grafische Oberfläche des Exchange Admin Center (ECP) verwalten. Alternativ beherrscht auch PowerShell sämtliche Aufgaben des Mailbox-Managements und kann diese weitgehend automatisieren.
Bevor ich die einzelnen Cmdlets beschreibe, hier ein Tipp für die Script-Entwicklung: Um diese zu beschleunigen, kann man bei der ECP spicken. Die GUI löst nämlich für die meisten Aufgaben im Hintergrund PowerShell-Befehle aus, die man sehen und kopieren kann, wenn man die Exchange Befehlsprotokollierung aktiviert.
Zu den wichtigsten Tätigkeiten der Mailbox-Verwaltung zählen:
- Das Anlegen, Deaktivieren und Löschen von Benutzerpostfächern
- Hinzufügen oder Ändern von Mail-Adressen
- Weiterleitung des Postfaches
- Konfigurieren der Größenbeschränkungen
- Verwaltung des Postfachspeicherkontingentes (Quota)
Anlage eines Postfachs
Diesem Zweck dient das Cmdlet New-Mailbox. Ein Beispielaufruf könnte so aussehen:
New-Mailbox -Name "Max Mustermann" -UserPrincipalName max.mustermann@contoso.com `
-Password (ConvertTo-SecureString -String 'Hallo123' -AsPlainText -Force) `
-FirstName Max -LastName Mustermann
Hinweis: Wenn man den Parameter Password nicht mitgibt, dann erwartet PowerShell bei der Anlage des Postfaches die Eingabe eines Kennworts.
Anders schaut der Befehl aus, wenn ein Postfach für einen Benutzer erstellt werden soll, welcher bereits im Active Directory vorhanden ist. Dies erfolgt mit Enable-Mailbox und dem User Principal Name (UPN):
Enable-Mailbox -Identity max.mustermann@contoso.com
Wer mehrere Datenbanken auf dem Exchange-Server verwaltet, kann den Benutzer mit dem Parameter Database in der gewünschten Datenbank erzeugen.
Natürlich wäre wie beim Anlegen von Benutzern im Active Directory auch hier ein Massenimport entweder per CSV oder aus dem AD möglich. Dabei sollte man aber einen passenden Filter verwenden, um beim Aktivieren von Postfächern keinen bereits bestehenden Mailbox-Benutzer zu erwischen (dies führt allerdings nur zu einer Fehlermeldung ohne weitere Konsequenzen).
Beim Auslesen aus dem Active Directory könnte man dafür ein Attribut prüfen, welches erst durch das Aktivieren des Postfaches mit einem Wert gefüllt wird. Dafür bieten sich zum Beispiel mail oder proxyAddresses an.
Postfächer deaktivieren oder löschen
Beachten Sie bitte den Unterschied zwischen dem Deaktivieren (Disable) und Löschen (Remove) von Postfächern. Im ersten Fall bleibt der Benutzer im Active Directory weiterhin vorhanden, er hat dann bloß kein Postfach mehr. Beim Remove-Befehl hingegen wird das komplette Konto gelöscht.
Um ein Benutzerpostfach zu deaktivieren, nutzt man Disable-Mailbox, den Gegenspieler von Enable-Mailbox. Der Aufruf erfolgt nach dem gleichen Muster:
Disable-Mailbox -Identity max.mustermann@contoso.com
Ebenso einfach ist es, einen Benutzer zu löschen:
Remove-Mailbox -Identity max.mustermann@contoso.com
Mail-Adresse hinzufügen
Es kommt häufiger vor, dass Benutzer nicht nur eine Mail-Adresse haben, unter der sie erreichbar sind. Dafür gibt es mehrere Gründe, von verschiedenen Funktionen des Mitarbeiters im Unternehmen bis hin zur Migration und der Zusammenlegungen von Organisationen. Als primäre SMTP-Adresse kann der Benutzer allerdings nur eine verwenden.
Für die Verwaltung der Mail-Adressen eines Postfachs ist Set-Mailbox zuständig. Mit dem Attribut Add oder Remove in der Hash-Tabelle des Parameters EmailAddresses kann man eine Adresse hinzufügen oder entfernen:
Set-Mailbox -Identity "Max Mustermann" -EmailAddresses @{add="m.m@contoso.com"}
Sollen mehrere Adressen auf einmal hinzugefügt werden, so sind diese durch ein Komma zu trennen.
Möchte man die Adresse ersetzen, so übergibt man die neue einfach als Zeichenkette an den Parameter EmailAddresses. Sollten Sie eine Adressrichtlinie im Einsatz haben, so muss diese über den Schalter EmailAddressPolicyEnabled deaktiviert werden, da die Änderung ansonsten nicht zulässig ist:
Set-Mailbox -Identity "Max Mustermann" -EmailAddresses m.m@contoso.com `
-EmailAddressPolicyEnabled $false
Weiterleitung eines Postfaches aktivieren
Eine Weiterleitung wird etwa genutzt, wenn ein Mitarbeiter das Unternehmen verlassen hat und der Nachfolger die E-Mails seines Vorgängers zur weiteren Bearbeitung erhalten soll. Hinweis: Achten Sie bei diesem Vorhaben auf den geltenden Datenschutz!
Folgender Befehl bewirkt eine Weiterleitung auf einen anderen Benutzer:
Set-Mailbox -Identity "Max Mustermann" -DeliverToMailboxAndForward $true `
-ForwardingSMTPAddress Ernie.Meier@contoso.com
Größenbeschränkung für Nachrichten
Sollte die Größenbeschränkung nicht vom Empfangs- und Sende-Connector übernommen werden, so ist es möglich, beim Benutzer eine Ausnahme zu konfigurieren.
Set-Mailbox -Identity "Max Mustermann" -MaxSendSize 40mb -MaxReceiveSize 45mb
MaxSendSize = Maximale Größe einer E-Mail beim Senden
MaxReceiveSize = Maximale Größe einer zu empfangenden E-Mail
Vermeiden Sie, das Limit zu weit hochzudrehen. Ein Postfach ist kein Dateitransporter. Wer ein Mail-Gateway einsetzt, sollte darauf achten, dass die konfigurierte Größe dort nicht geblockt wird.
Postfachspeicherkontingent
Das Postfachspeicherkontingent dient dazu, die maximale Größe einer Mailbox zu begrenzen. Es hilft somit dabei, das Wachstum der Exchange-Datenbanken unter Kontrolle zu halten. In der Regel reicht für einen normalen Benutzer ein Kontingent von 1 bis 2 GB vollkommen aus.
Set-Mailbox -Identity "Max Mustermann" -IssueWarningQuota 3gb -ProhibitSendQuota 4gb `
-ProhibitSendReceiveQuota 5gb -UseDatabaseQuotaDefaults $false
Dabei bedeuten die einzelnen Parameter folgendes:
- IssueWarningQuota = Warnmeldung senden ab 3 GB
- ProhibitSendQuota = Senden verbieten ab 4 GB
- ProhibitSendReceiveQuota = Senden und Empfangen verbieten ab 5 GB
Täglich Know-how für IT-Pros mit unserem Newsletter
Roland Eich ist gelernter Fachinformatiker für Systemintegration und in der IT seit über 14 Jahren zu Hause. Roland deckt aufgrund seiner Erfahrungen ein breites Spektrum der Microsoft-Produktpalette ab.
Zudem besitzt er verschiedene Zertifizierungen (MCITP, MCSA und MCSE, ITIL, PRINCE2).
// Kontakt: E-Mail //
Verwandte Beiträge
- Verteilergruppen für Exchange in PowerShell anlegen und verwalten
- Kontakte für Microsoft Exchange anlegen im Admin Center oder mit PowerShell
- Benutzerprinzipalname (UPN) im Active Directory konfigurieren
- Adressbücher in Exchange Online anlegen und pflegen
- Security- und Health-Checks für Active Directory mit PowerShell-Scripts
Weitere Links