Exchange: Geisterpostfächer endgültig entfernen

Heute bin ich auf ein außergewöhnliches Problem gestoßen: Geisterpostfächer. Doch lasst mich das Problem etwas näher beschreiben. Am Exchange waren Postfächer vorhanden, die im eigentlichen Sinne gar keine funktionstüchtigen Postfächer mehr waren. Das AD-Objekt war nicht mehr vorhanden und sie ließen sich auch nicht mit dem Befehl „Get-Mailbox“ auswerten. Nur über eine Abfrage der Mailbox-Statistiken auf Datenbanklevel brachte sie zum Vorschein. Da ich genau wusste, nach welchen ehemaligen Postfächern ich suchen musste, konnte mir der folgende Befehl bei der Suche helfen.

  1. [PS] C:\Windows\system32>$dbs = Get-MailboxDatabase
  2. [PS] C:\Windows\system32>$dbs | foreach{Get-MailboxStatistics -Database $_.Name | where {$_.Displayname -like "*test*"} | select Identity, Displayname, TotalItemSize, Database, Disconnect*}
  3.  
  4.  
  5. Identity : d7e6d88b-a905-4a6a-bf7d-270b64e734f3
  6. DisplayName : Test User01
  7. TotalItemSize : 4.795 GB (5,148,164,291 bytes)
  8. Database : DB14
  9. DisconnectDate :
  10. DisconnectReason :
  11.  
  12. Identity : c0265cf0-8935-419a-921c-107095aa908b
  13. DisplayName : Test User02
  14. TotalItemSize : 4.04 GB (4,337,656,320 bytes)
  15. Database : DB15
  16. DisconnectDate :
  17. DisconnectReason :
  18.  
  19. Identity : 9fdeb360-933f-4c5c-be2a-4f20141df548
  20. DisplayName : Test User03
  21. TotalItemSize : 4.713 GB (5,060,934,314 bytes)
  22. Database : DB15
  23. DisconnectDate :
  24. DisconnectReason :
  25.  
  26. Identity : 277b608e-69e3-49c7-9be8-2e0123cdddb7
  27. DisplayName : Test User04
  28. TotalItemSize : 10.9 GB (11,700,122,189 bytes)
  29. Database : DB16
  30. DisconnectDate :
  31. DisconnectReason :

Wenn man allerdings nicht genau weiß, wie beispielsweise der Displayname gesetzt war, gibt es keine einfache Möglichkeit, solle Postfächer ausfindig zu machen. Das Problem ist, dass diese auch nicht automatisch vom Exchange nach Ablauf der Retention Policy gelöscht werden, da sie weder einen DisconnectDate noch DisconnectReason besitzen. Das bedeutet, dass sie immer den entsprechenden Speicher in der Datenbank belegen werden, da sie für den Exchange vollwertige Mailboxen sind.

Normalerweise lassen sich getrennte Postfächer mit dem Befehl „Remove-StoreMailbox“ problemlos entfernen und den Datenbankspeicher freigeben. In diesem Fall funktioniert das allerdings nicht, da die Mailbox für den Exchange nicht getrennt war. Daher lief das CMDLET auch in einen Fehler:

  1. [PS] C:\Windows\system32>Remove-StoreMailbox -Identity d7e6d88b-a905-4a6a-bf7d-270b64e734f3 -Database DB13 -MailboxState Softdeleted
  2.  
  3. The mailbox "d7e6d88b-a905-4a6a-bf7d-270b64e734f3" isnt disconnected
  4. + CategoryInfo : NotSpecified: (:) [Remove-StoreMailbox], ManagementObjectNotFoundException
  5. + FullyQualifiedErrorId : [Server=EX0401,RequestId=7f221125-935c-4713-9584-5971fd32bf5e,TimeStamp=28.06.2021 12:48:57] [FailureCategory=Cmdlet-ManagementObjectNotFoundException] 95C8F437,
  6. Microsoft.Exchange.Management.StoreTasks.RemoveStoreMailbox
  7. + PSComputerName : ex0401.test.local

Glücklicherweise verfügt der Befehl „Remove-Mailbox“ über den Parameter „StoreMailboxIdentity“ mit welchem man eigentlich funktionstüchtige Postfächer direkt und unwiederbringlich löscht:

  1. [PS] C:\Windows\system32>Remove-Mailbox -StoreMailboxIdentity d7e6d88b-a905-4a6a-bf7d-270b64e734f3 -Database DB14
  2.  
  3. Confirm
  4. Are you sure you want to perform this action?
  5. Removing mailbox "d7e6d88b-a905-4a6a-bf7d-270b64e734f3" on database "DB14".
  6. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y

Somit konnten die Geisterpostfächer entfernt und der Speicherplatz innerhalb der Datenbanken wieder freigegeben werden.

You may also like...

Abonnieren
Benachrichtige mich bei
guest


0 Comments
Älteste
Inline Feedbacks
View all comments
0
Hinterlass' doch deine Meinung zu diesem Artikelx