Exchange 2010 mailbox move history

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

or

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:

MSExchangeMailboxReplication.exe.config

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:
MaxMoveHistoryLength

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[0]

or

$MoveHistory[0] | 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.

 

 

 

Print Friendly
Tagged , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>