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 }
Leave a Reply