Bei einer Exchange Migration von einem 2010 nach 2013 oder auch von 2007 nach 2013, können beim abschließenden Verschieben der Mailboxen immer wieder verschiedene Fehler bzgl. einzelner Mailboxen auftreten. In dieser Reihe von Blogeinträgen werde ich Ihnen zeigen wie Sie das Problem eingrenzen und lösen können. Aber der Reihe nach: Wenn Sie eine Migration durchführen oder einfach mehrere Mailboxen verschieben möchten, führen Sie in der PowerShell den Befehl

Get-Mailbox -Database "<Database1>"| New-MoveRequest -TargetDatabase "<Database2>"

aus, bzw. starten einen MoveRequest in der Exchange Management Console (EMC). Häufiger tritt dann die Fehlermeldung

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

auf. Um weitere Informationen zu dieser Fehlermeldung zu erhalten, öffnen Sie den Application Log von Windows. Dort ist dann i.d.R. ein (oder mehrere) Eintrag der folgenden Art vorhanden.

Request '<Domain>/<ou>/<user>' (80cf5971-4c4d-4240-b2ed-39cb6e6b0dd8) failed.
 Error code: -2146233088
 This mailbox exceeded the maximum number of corrupt or missing items that were specified for this request.

Wichtig für die Lösung des Problems ist der <user>, damit Sie wissen welche Mailbox betroffen ist. Für einen MoveRequest liefert Microsoft den Parameter BadItemLimit mit. Dieser ist speziell dafür da, um beschädigte Elemente oder Elemente die out-of-sync sind bei einem MoveRequest zu übergehen. Damit der MoveRequest neu ausgeführt werden kann, muss aber zuerst der fehlgeschlagene Request gelöscht werden. Dies wird mittels

Remove-MoveRequest -Identity <user>

durchgeführt. Anschließend geben Sie den Befehl für den MoveRequest erneut ein und verwenden zusätzlich den BadItemLimit-Parameter.

Get-Mailbox -Database "<Database1>" | New-MoveRequest -TargetDatabase "<Database2>" -BadItemLimit <Val>

Als Wert für <val> bietet sich eine Zahl zwischen 2-5 an, je nach Größe der Mailbox bzw. nach enthaltenen Elementen. Bitte beachten Sie, dass der MoveRequest nicht sofort ausgeführt wird, sondern der Exchange das Scheduling dafür übernimmt.

Sollte dieses Vorgehen nicht bei der Lösung des Problemes geholfen haben, finden Sie im zweiten Teil des Blogeintrages weitere Herangehensweisen um einen MoveRequest durchführen zu können.