Find and Export Disconnected Mailboxes
When a user account is deleted in Active Directory, Exchange 2010/2013 doesn’t immediately purge the mailbox. Instead it enters a disconnected state and remains in the mailbox database for the duration of the retention period. During this window the content is still recoverable.
The catch is that disconnected mailboxes don’t appear in the normal Exchange admin console views — you have to go looking for them.
Finding disconnected mailboxes
Get-MailboxStatistics is the right tool here. Filter on DisconnectReason to surface anything that isn’t actively connected:
Get-MailboxDatabase DatabaseName | Get-MailboxStatistics |
Where-Object { $_.DisconnectReason -notlike $null } |
Format-Table DisplayName, Database, DisconnectReason -AutoSize
This will list every disconnected mailbox on the specified database, along with whether it was disabled or soft-deleted.
Note the MailboxGuid for any mailbox you want to restore — you’ll need it in the next step.
Restoring the content
Rather than reconnecting the disconnected mailbox to a new AD account, I prefer using New-MailboxRestoreRequest. It merges the disconnected mailbox’s content into a live target mailbox under a named subfolder, which keeps things clean and auditable.
New-MailboxRestoreRequest `
-SourceDatabase DatabaseName `
-SourceStoreMailbox '{MailboxGuid}' `
-TargetMailbox user@domain.com `
-TargetRootFolder "Restore" `
-AllowLegacyDNMismatch `
-Name "RestoreRequestName"
Replace {MailboxGuid} with the GUID from the previous step and user@domain.com with the target mailbox. The -TargetRootFolder value becomes a subfolder in the target mailbox — useful for keeping restored items separate from existing mail.
-AllowLegacyDNMismatch is required when the source and target have different legacy distinguished names, which is almost always the case when restoring a disconnected mailbox to a different account.
If you’re restoring into an archive mailbox rather than the primary, add -TargetIsArchive.
Monitoring the restore
Restore requests run asynchronously. Check status with:
Get-MailboxRestoreRequest -Name "RestoreRequestName"
For more detail including percentage complete and any errors:
Get-MailboxRestoreRequest -Name "RestoreRequestName" |
Get-MailboxRestoreRequestStatistics
Once the status shows Completed the content will be visible in the target mailbox under the folder you specified.
Things to watch out for
Storage space — disconnected mailboxes can be large. Make sure the target mailbox has sufficient quota before starting the restore, or you’ll hit errors mid-way through.
Recoverable Items — the restore includes system folders like Recoverable Items, Purges, and Versions. These are hidden in the client but they count against quota. If the restore is pushing the target mailbox close to its limit, this is often why.