List mailbox databases guid
> Get-MailboxDatabase |ft Name, Guid
List disconnected mailboxes in a specific database
> Get-MailboxStatistics -Database <database guid> | Where-Object {$_.DisconnectDate -Notlike $NULL} | FL DisplayName, DisconnectDate, MailboxGuid
Delete a specific disconnected mailbox
> Remove-Mailbox -Database “<databasename>” -StoreMailboxIdentity <mailbox guid> -confirm:$false
Delete all disconnected mailboxes in a specific database
> $users = Get-MailboxStatistics -Database “<databasename>” | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid,Database
> $users | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$false }
Example
Delete a specific disconnected mailbox in the database named My Database
> Remove-Mailbox -Database “My Database” -StoreMailboxIdentity g437dd12-2f96-4a67-8f6f-c47fa70247e2 -confirm:$false
Delete all disconnected mailboxes in the database named My Database
> $users = Get-MailboxStatistics -Database “My Database” | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid,Database
> $users | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$false }
Here’s some more information that might be helpful,
Exchange 2010 – Delete / Remove all Disconnected Mailboxes
Pete
PeteNetLive
Thank you very much, works like a Sharm, saved lot of time and efforts.
This is very simple n sober way to do this.
Thanks a lot.
Thanks mate,
worked perfect!
Excellent thanks. Simple, easy to understand. Worked a treat.
After much frustration reading the MS examples, this has come as a refreshing step-by-step dose of common sense. Thank you so much!
Thank you very much..
worked perfect..