Move-Request Leichen

Wenn über New-Moverequest ein Postfach auf eine andere Datenbank verschoben wird, bleibt die “alte” Maibox bis zum Ablauf der auf der Datenbank konfigurirten Retention Time erhalten. Der häufigste Grund zum Verschieben von Mailboxen ist aber meiner Erfahrung nach das Problem, dass Datenbanken zu groß werden. Also empfiehlt es sich, die z.B. 5 größten Mailboxen auf eine nicht so große Datenbank zu verschieben, um den daraus resultierenden WhiteSpace wieder zur Verfügung zu haben. Das wir aber dadurch verhindert, dass die Mailbox in der Source DB eben nicht direkt gelöscht wird.

Was tun?

Um den vorher/nachher Vergleich zu haben, empfiehlt es sich zunächst mal den Whitespace einer Datenbank abzufragen.

Get-MailboxDatabase Name -Status | select name,@{Name=’DBSize(Gb)’;Expression={$_.DatabaseSize.ToGb()}},@{Name=’WhiteSpaceGb)’;Expression={$_.AvailableNewMailboxSpace.ToGb()}}

Dann schaut man in die DB, ob es dort nach dem Verschieben solche Leichen gibt. Diese Leichen sind daran zu erkennen, dass die im Attribut DisconnectReason den Vermerk “SoftDeleted” eingetragen haben. Es gibt hier auch den Status “Disabled”. Das sind aber Mailboxen, die gelöscht wurden und eben auch für die Dauer der RetentionTime noch verfügbar wären.

Get-MailboxDatabase Name | % {Get-MailboxStatistics -Database $_.name | ? DisconnectReason -match soft | select DisplayName,TotalItemSize,MailboxGUID}

Am besten gleich mit der MailboxGUID, weil man die dann zum bereinigen benötigt. Das bereinigen geschieht dann über das Löschen der verwaisten Mailbox.

Remove-StoreMailbox -Database Name -Identity MailboxGUID -MailboxState softdeleted

Dann ein paar Minuten warten und noch einmal den Whitespace abfragen. Bis dieser dann angezeigt wird, kann es etwas dauern.