Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes

An Exchange Server 2007 or 2010 user mailbox that has been deleted may not appear in the disconnected mailbox list for the server on which it was previously held.

This can happen when the mailbox has not been deleted using the Disable or Remove commands in the Exchange Management Console. For example, if a mailbox was deleted using the Exchange 2003 management tools then it will not appear in disconnected mailboxes.

Deleting Exchange 2007/2010 mailboxes with Exchange 2003 tools - please don't!

When mailboxes are deleted incorrectly the Exchange 2007/2010 mailbox server doesn’t process them correctly, and as a result they do not end up in the disconnected mailbox list.

However you can fix this problem with the Clean-MailboxDatabase command. Simply launch the Exchange Management Shell and run the command against the database that the user’s mailbox was on.

Clean-MailboxDatabase "EX2010MB\First Storage Group\Mailbox Database"

Refresh the disconnected mailboxes view for that mailbox server. The mailbox should now appear correctly and can be reconnected if necessary.

About Paul Cunningham

Paul is a Microsoft Exchange Server MVP and publisher of Exchange Server Pro. He also holds several Microsoft certifications including for Exchange Server 2007, 2010 and 2013. Find Paul on Twitter, LinkedIn or Google+, or get in touch for consulting/support engagements.

Comments

  1. Clinton Oberbeck says:

    After following your steps above, I also had to use the “Connect to Server…” Action on the Disconnected Mailbox menu to connect to my server and I was then able to see the disconnected mailboxes.

  2. Thank you Paul, Saved my ass!

  3. Hi Paul, thanks for sharing this information. It seems that no matter what way I run this cmdlet, I get an error that the ‘object could not be found on domain controller . This just makes no sense, any experience coping with this error?

    • I assume what you’re saying is you’re running…

      Clean-MailboxDatabase somedatabase

      …and its telling you that “somedatabase” could not be found?

      Whatever you use in place of “somedatabase” has to be a database name that Exchange can locate. If you run Get-MailboxDatabase it will show you valid database names.

      For Exchange 2007, if running on the local server, you should be able to just run…

      Clean-MailboxDatabase “Database Name”

      From a remote server or mgmt station I think you would need to use

      Clean-MailboxDatabase “ServerName\Database Name”

      For Exchange 2010 whether local or not it should just be…

      Clean-MailboxDatabase “Database Name”

  4. Marcus Hammer says:

    Thank you for this post. This really made my life happier…

  5. I run this command and nothing appears in my disconnected mailbox after refreshing it, what else can i try?

  6. What if there are several databases and you have no way of knowing which one it was on? Is there a way to run it against several mailboxes?

  7. It turns out I needed to specify the DC and then all ran spot on! Thanks Paul

  8. anthony ndong says:

    Hi Paul
    Thanks for the valuable info I ran the cmd but i ran into a problem the error is Clean-MailboxDatabase : The operation could not be performed because ‘Mailbox Database’ matches multiple entries. please advise

    thanks
    tonnie

  9. Hey Paul,

    I have experience this on Exchange 2013, do you have any idea how to fix it as the clean-mailboxdatabase no longer appear on the powershell command.

    Thanks
    Alvin

    • Hello Alvin,

      I read that Clean-MailboxDatabase is replaced in Exchange 2013 with the following cmdlet:
      Update-StoreMailboxState -Database “[Databasename where the mailbox is stored]” -Identity “[GUID of the mailbox]”

      To find out the GUID of all the mailboxes you can use the following cmdlet:
      Get-Mailbox -Database “[Databasename where the mailbox is stored]” -IgnoreDefaultScope | Get-MailboxStatistics | ft DisplayName,MailboxGUID

      Greetings,
      Robob.

  10. Hi Paul

    I’m having similar but different issues. In the shell I’m running get-mailbox bob | disable-mailbox & then one minute later I’ll run enable-mailuser domain\bob -externalemailaddress “bob@otherdomain.com”

    The problem I’m having is that the Exchange 2007 SP2 console still sees Bob as a Mailbox for quite some time, which is problematic as I need to be able to edit the new Mail User by adding secondary SMTP aliases so that they can continue to receive mail via these. Usually this occurs instantly, but more often it is taking > 10mins to update, and today I’m still waiting for it to update a mailbox that we disabled 20 hours ago…

    I’ve tried running ‘repadmin /syncall’ on a domain controller without success.
    Do you have any ideas why this is happening and how to resolve? Thanks

  11. Lee Hutchinson says:

    Brilliant! Thank you. I was beginning to sweat heavily until I found this.

  12. You did it once again! When I run into an issue and do a search and find your article, I automatically start getting excited before even clicking because I know I’m a click away from my answer. Great post.

  13. Wow. A co-worked “clean” some accounts in our Active Directory so I lost users and exchange mailboxes. I restore AD deleted account with ADrestore v1.1 (amazing), enable the account, restore group memberships and notice there is no mailboxes in exchange to associate with. I read your article and was able to ran the command, so the disconnected mailboxes appear and now users are happy and I’m even more happy!!

  14. Rimvydas says:

    Hi Paul,

    Do I need to dismount database or stop some services prion running this command? Technet docs say so:/

Leave a Comment

*

We are an Authorized DigiCert™ SSL Partner.