Beim Ausscheiden von Mitarbeitern solltest Du neben dem Active Directory Benutzerkonto auch das Exchange Postfach deaktivieren und gegebenenfalls auch löschen. Wie Du dies mit Hilfe der PowerShell durchführen kannst, beschreibe ich Dir in diesem Artikel.

Per PowerShell: Exchange Postfach deaktivieren

Wenn Du ein Exchange Postfach entfernen möchtest, muss Du dieses zunächst deaktivieren. Das sofortige Löschen einer Mailbox über die GUI ist nicht vorgesehen. Deaktivierte Postfächer werden von Exchange Server zum Löschen vorgemerkt. Standardmäßig werden diese deaktivierten Postfächer nach 30 Tagen automatisch gelöscht.

Über die PowerShell lässt sich das sofortige Löschen einer Exchange Mailbox mit wenigen Befehlen dennoch umsetzen. Hierfür benötigst Du entweder die Exchange Verwaltungsshell oder Du lädst Dir das entsprechende Exchange Modul in die Windows PowerShell („Get-Module –ListAvailable“ zeigt Dir die verfügbaren Module des Systems an – siehe hier).

Am einfachsten ist es, wenn Du die Exchange Verwaltungsshell direkt auf dem Microsoft Exchange Server öffnest. In meinem Beispiel deaktivieren ich die Mailbox des Benutzers „Service Install“. Dies erfolgt mit dem folgenden – sehr einfachen – Befehl:

Disable-Mailbox "Service Install"
Exchange Postfach deaktivieren per PowerShell
Mit dem einfachen Befehl „Disable-Mailbox“ kannst Du ein Exchange Postfach deaktivieren und somit zum Entfernen vormerken.

Die soeben deaktivierte Mailbox erscheint leider nicht sofort in der Übersicht der getrennten Postfächer der GUI. Aber auch dieser Vorgang lässt sich beschleunigen mit dem Befehl:

Get-MailboxDatabse | Clean-MailboxDatabase
Exchange Postfach deaktivieren - Getrennte Postfächer aktualisieren
Mit diesem Befehl kannst Du die Anzeige „Getrennte Postfächer“ aktualisieren.

Getrenntes Exchange Postfach sofort löschen

Nachdem Du das Postfach des entsprechenden Benutzers deaktiviert hast, kannst Du dieses auch sofort – ohne Wartezeit – löschen. Hierfür benötigst Du allerdings zunächst die zugehörige Postfach-ID. Auch der Datenbankname wird benötigt. Diese kannst Du mit der folgenden Codezeile abrufen:

Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectedDate -ne $null } | fl DisplayName, Database, Identity, DisconnectReason
Exchange Postfach ldentity ermitteln
Die Postfach-ID wird für das sofortige Löschen einer Exchange Mailbox per PowerShell benötigt.

Nachdem Du die beiden Werte für Database und Identity ermittelt hast, kannst Du das Postfach nun endgültig löschen. Hierfür ist das CMDLet Remove-StoreMailbox zuständig.

Remove-StoreMailbox -Database "<Database Name>" -Identity "<Postfach-ID>" -MailboxState "Disabled"
Exchange Postfach endgültig löschen
Das endgültige Löschen eines deaktivierten Exchange Postfaches mit der PowerShell.

Durch den obigen Befehl wird die deaktivierte Mailbox komplett vom Exchange Server entfernt und der Speicherplatz innerhalb der Exchange Datenbank wieder freigegeben.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.