Exchange 2010: Getrennte Postfächer löschen

Wenn Benutzer aus dem Active Directory gelöscht werden, werden die Exchange Postfächer nicht automatisch gelöscht sondern getrennt. Das bedeutet dass das Postfach zwar noch in der Datenbank vorhanden ist, aber keinen Benutzer mehr zugeordnet ist.

Wenn der zugehörige Benutzer zu einem Postfach erst vor kurzem gelöscht wurde, wird das getrennte Postfach nicht direkt in der Liste der getrennten Postfächer in der Exchange Verwaltungskonsole angezeigt. Möchte man nicht warten bis Exchange selbständig nach getrennten Postfächern sucht, kann man das über den folgenden Befehl selbst anstoßen:

Get-MailboxDatabase | Clean-MailboxDatabase

Danach werden die getrennten Postfächer in der Exchange Verwaltungskonsole angezeigt, dort kann man sie zwar wieder verbinden, aber nicht löschen. Löschen lässt sich das Postfach nur über die GUID des Postfachs. Diese kann man sich so anzeigen lassen:

get-mailboxdatabase | get-mailboxstatistics | Where{ $_.DisconnectDate -ne $null } |fl displayName,Identity,disconnectdate

Möchte man nun das Postfach löschen, kopiert man sich den Wert der bei „Identity“ steht und hängt ihn an den Remove-MailboxDatabase Befehl an:

Remove-mailbox -database „Name der Mailbox Datenbank“ -storemailboxidentity „Wert der bei Identity steht“

Beispiel:

Remove-mailbox -database „MailBoxDatabase01“ -storemailboxidentity 853ad730-7111-4569-ad54-ef002046e97f

Hinweis:

Mit dem Serice Pack 1 gab es hier eine Änderung, genaueres kann hier nachgelesen werden: https://www.frankysweb.de/?p=209

10 thoughts on “Exchange 2010: Getrennte Postfächer löschen”

  1. Hallo,

    wie kann ich denn beide Befehle zusammenführen um alle getrennten Postfächer zu löschen?

    Gruß
    Klaus

    Reply
    • Hi Klaus,

      so zum Beispiel:

      $mailboxes = get-mailboxdatabase | Get-MailboxStatistics | where-object { $_.DisconnectDate –notlike ” } | Select displayname, mailboxguid, database

      $mailboxes | ForEach { Remove-StoreMailbox -Database $_.Database -Identity $_.MailboxGuid -MailboxState “Softdeleted” -confirm:$false }

      Gruß, Frank

      Reply
  2. Hallo Frank.

    Die Lösung war bei mir folgendes:

    Remove-StoreMailbox -database „MB1-2SRV02D“ -Identity „bbfd42dc-0b14-4ed3-aceb-f369159ddaa1“ -MailboxState SoftDeleted

    Vielen Dank und Grüße

    Rolf

    Reply
  3. Hallo Rolf,

    welcher Fehler tritt denn auf?

    Das Vorgehen bei mehreren Datenbanken ist etwas anders, vieleicht hilft dir das weiter:

    führe zunächst den Verwaltungsvorgang „clean-mailboxdatabase“ aus:

    Get-MailboxDatabase | Clean-MailboxDatabase

    Hier brauchst du noch keine Datenbank angeben, aber beim Löschen des getrennten Postfaches. Um zu herauszufinden in welcher Datenbank das Postfach war, erweitere den Befehl „get-mailboxstatistics“ um die Angabe „database“

    get-mailboxdatabase | get-mailboxstatistics | Where{ $_.DisconnectDate -ne $null } |fl displayName,Identity,disconnectdate,database

    Jetzt solltest du alle getrennten Postfächer aller Datenbanken auf dem Server angezeigt bekommen inklusive der Datenbank in der das Postfach liegt, dann passe diesen Befehl mit den Werten an, die dir get-mailboxstatistics anzeigt:

    Remove-mailbox -database “Wert der bei Database steht” -storemailboxidentity “Wert der bei Identity steht”

    Wenn das nicht klappt, dann poste doch bitte die Fehlermeldung der Shell,

    Gruss, Frank

    Reply
  4. Hallo Frank.

    Ich habe Probleme mit dem löschen und habe mehr als eine Mailbox Datenbank.
    Kannst Du weiter helfen?

    Grüße

    Rolf

    Reply
  5. Hallo,

    habe den Befehl oben ausgeführt, es wird mir die Storemailboxidentity angezeigt und ich verwende diese, daraufhin kommt folgende Fehlermeldung:

    „Das angegebene Postfach „283e71cc-0068-4830-bfb5-28433fc646b2“ ist nicht in der Datenbank „medium“ vorhanden“

    Aber wenn ich in der Verwaltungskonsole/getrenntes Postfach -> nachschaue ist dieses Postfach vorhanden?
    Was ist das für ein Problem???

    Reply

Leave a Comment