This post is also available in: Polish
Before we explain how to get mailbox move history, first we will explain how to move mailbox between mailbox databases in Microsoft Exchange 2010.
Exchange 2010 move mailbox:
To move mailbox between two mailbox databases in Exchange 2010 we can use:
- EMC – Exchange Management Console
- EMS – Exchange Management Shell
EMC Exchange Management Console
To move mailbox from one database to another one, we need to open EMC, find mailbox which we want to move and then right click on it and select New Local Move Request
Next we have to select target mailbox database and choose how many bad items can be skipped during this move.
I think this move is quite simple in EMC.
EMS Exchange Management Shell
We prefer to use EMS to move any mailbox, a specially when you need to move few mailboxes. CMDlets which can be used to move mailbox you can easly use in Powershell script.
You need to have RBAC permission to move mailboxes.
Below you can find CMDlets which you can use to move mailbox, monitor mailbox move, suspend, resume, and also needed RBAC permissions:
|CMDlet||Required RBAC permission|
|Management role||Role group membership|
|New-MoveRequest||Move Mailboxes||Recipient Management|
|Get-MoveRequest||Move Mailboxes, View-Only Recipients|
|Get-MoveRequestStatistics||Move Mailboxes, View-Only Recipients||Recipient Mangement|
|Set-MoveRequest||Move Mailboxes||Recipient Management|
|Suspend-MoveRequest||Move Mailboxes||Recipient Management|
|Resume-MoveRequest||Move Mailboxes||Recipient Management|
|Remove-MoveRequest||Move Mailboxes||Recipient Management|
|Get-MailboxStatistics||Mail Recipients, Users Options, View-Only Recipients||Recipient Management|
To move mailbox you need to create move request like below:
New-MoveRequest -identity "John Smith" -TargetDatabase "MXDB03"
Above command will create move request to move John Smith to mailbox database MXDB03
If you are moving mailbox you can use parameter: BadItemLimit to specify how many corrupt mailbox items you are willing to tolerate when moving mailbox.
Before you will again create moving request of John Smith mailbox, you need to remove completed move request like below:
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest
To check move status use:
Get-MoveRequest -MoveStatus InProgress
Exchange 2010 Mailbox move history:
Now when we know how to move mailbox from one mailbox database to another one in Exchange 2010, and we often create new move request.
After while few weeks or months we need to check mailbox move history.
By default Exchange 2010 keeps only last two logs for moves performed on mailbox.
But don’t worry, we can change this behavior and we can increase the number of logs that Exchange 2010 Mailbox Replication Service (MRS) keeps, by editing configuration file:
We can use Notepad to change this XML file.
This file resides on all Microsoft Exchange Server 2010 Client Access servers and we have to modify this file on all of those servers.
File can be found in path:
<Exchange Installation Path>\Program Files\Microsoft\Exchange Server\V14\Bin\MSExchangeMailboxReplication.exe.config.
You need to open this file by Notepad, and find parameter:
Value of this parameter can be changed between 0 and 100. But remember that every one log of one mailbox move occupies approximately 300KB.
Mailbox move history is stored in hidden mailbox folder. To get mailbox move history we need to use Get-MailboxStatistics cmdlet.
To get Exchange 2010 mailbox move history you need to use:
Get-MailboxStatistics -identity "John Smith" -IncludeMoveHistory
You will get all moves history for mailbox John Smith. If mailbox was moved very often then you will get a lot of information.
To manage better of mailbox move history information we can use belowed command:
$MoveHistory = (Get-MailboxStatistics -identity "John Smith" -IncludeMoveHistory).MoveHistory
Then all informations about mailbox move will be piped to variable $MoveHistory
Now to get information about mailbox move use:
$MoveHistory | Out-File -FilePath "D:\Scripts\MoveHistory.txt"
in this report file you will find all necessary information about mailbox move like: source database, target database, move status, Start Timestamp, etc.
If you need to get more detailed move history you can use -IncludeMoveReport against of -IncludeMoveHistory
This Report will include list of all actions taken to set up and then move the mailbox.
Hope it will help you in yours investigations about mailboxes move.