Error moving mailboxes?

So you’re cleaning out a storage group, and there are a bunch of mailboxes that you don’t seem to be able to move?

If you check the Eventlog, do you find these events?

The MAPI call ‘OpenMsgStore’ failed with the following error:
The information store could not be opened.
The MAPI provider failed.
MAPI 1.0
ID no: 8004011d-0289-00000000

For more information, click http://www.microsoft.com/contentredirect.asp.

Failed to open mailbox ‘/o=CONTOSO/ou=First Administrative Group/cn=Recipients/cn=JohnDoe’ in mailbox store ‘/o=CONTOSO/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=ContosoMailServer/cn=Microsoft Private MDB81234567’ on server ‘ContosoMailServer’.
Error: The information store could not be opened.
The MAPI provider failed.
MAPI 1.0
ID no: 8004011d-0289-00000000

For more information, click http://www.microsoft.com/contentredirect.asp.

Quickly check if these users are not disabled.  Mailboxes with disabled users as associated account cannot be moved.  The workarounds are to enable the user accounts – which is not that desireable for your company’s Security staff – or assign SELF as the associated account.

More info at Microsoft.

Lost your disconnected mailboxes on Exchange 2007?

So you’re happily clicking and typing away, and you need to relink a mailbox to another AD user.  So you do the obvious:

  • Go into the Exchange 2007 Management Console (or Shell)
  • Find the mailbox in the Recipient Configuration
  • Write down the server the mailbox is stored
  • Disconnect the mailbox from the original AD user
  • Get a list of disconnected mailboxes on the server you wrote down

Only to find that the mailbox is not listed. Panic!

Did you forget to check the Deletion Settings on the mailbox store? No, on second glance they are the default 30 days, so the disconnected mailbox should still be available.

But, wait… On Exchange 2003, didn’t you run the Cleanup Agent to find disconnected mailboxes?

No such a thing in Exchange 2007, or is there?

Yes there is.  Clean-Mailboxdatabase is your cmdlet and friend.  Run Clean-Mailboxdatabase <databasename> in an Exchange Management Shell and reload your list of disconnected mailboxes.

You saved the day!  Or at least Exchange saved your job ;).

So next time:

  1. Get-Mailbox john@contoso.com | Format-Table Name, Database
  2. Disable-Mailbox john@contoso.com
  3. Clean-MailboxDatabase “Mailbox ServerMailbox Database Storagegroup Name”
  4. Connect-Mailbox -Database “Mailbox Database” -Identity “John Peoples”   -User john@fabrikam.com