Skip to main content

Resolve failed Mailbox Move Requests

·465 words·3 mins
system-administration tech exchange exchange-2010 powershell sysadmin technology
James Pettigrove
Author
James Pettigrove
Cloud Engineer with a focus on Microsoft Azure

So chances are, after reading my previous post on how to move Mailboxes via Organizational Unit you have migrated a couple hundred mailboxes. There is a good possibility that a small number of them have the status of Failed and that if you dig in to the log of the transfer you will come across the following error:

Error: This mailbox exceeded the maximum number of corrupted items that were specified for this move request.

Whenever the Exchange 2010 Mailbox Replication Service comes across a Mailbox with a corrupted piece of data (whether than be an attachment, calendar item etc…) it automatically skips the mailbox and continues to plow through the rest in your list. This is by design and follows the mantra of “better safe than sorry”. Fear not, if you are happy to accept data loss (more of this later) we can get around this. Head to your Exchange Powershell and enter the following:

Get-MoveRequest | where {$_.Status -eq "Failed"} | Set-MoveRequest -BadItemLimit 100 -AcceptLargeDataLoss

The above will get all the mailbox move requests that have failed and set the maximum amount of corrupted items to 100 before it skips the entire mailbox (as what was previously occurring). Note the -AcceptLargeDataLoss switch is needed if you set your -BadItemLimit switch to anything about 50. Now that we have told Exchange that we don’t mind a bit of data loss lets resume the move requests:

Get-MoveRequest | where {$_.Status -eq "Failed"} | Resume-MoveRequest

Depending on the amount of corrupt items in each mailbox, with any luck they will be now on their way to your new Exchange server. If you get a couple that still don’t move across and failed, just up the -BadItemLimit and try again.

So I mentioned earlier that I would touch on the data loss aspect of the mailbox move and why it’s not such a terrible thing to occur. From time to time, with the amount of calendar appointments, shared tasks and what not flying across several mailboxes at a time there comes a time that corruption can occur. This corruption can lead to unsavoury experiences for the end user, and this is not a good thing (you’ll have to hear about it the next time you venture close to the water cooler). During this mailbox move, (when instructed) corrupted items are dropped from the mailbox and the end result is a pristine and clean mailbox, free from evil corruption.

Microsoft even make use of this function to cleanse mailboxes that are apart of their Exchange Online cloud offering as detailed here: Corrupted Items and Mailbox Moves in Exchange 2010. If you have multiple Exchange 2010/13 Mailbox servers it might be wise to shuffle the mailboxes between them every now and again to perform a cleansing ritual…that or overkill.

Related

Mailbox Move Request by Organizational Unit
·236 words·2 mins
system-administration tech exchange exchange-2010 powershell sysadmin technology
I’ll admit, I do love Active Directory.
Export email addresses via Exchange Powershell
·298 words·2 mins
system-administration tech exchange exchange-2007 exchange-2010 powershell sysadmin technology
The other week I had a request for a list of all email addresses of staff for use with a legacy VOIP system.
Migrated your mailbox to Exchange 2010, ActiveSync connection stopped? You might be a Domain Administrator
·338 words·2 mins
system-administration tech active-directory activesync exchange exchange-2010 sysadmin technology
Came across an interesting little bug which probably would have gone unnoticed if I never migrated my mailbox to our new Exchange 2010 mail server.