daknetworks.com

You are here: Blog Exchange 2013 Move Mailbox From One Database to Another Database

Exchange 2013 Move Mailbox From One Database to Another Database

Here's the command to move a mailbox from one database to another database:

New-MoveRequest foo.user -TargetDatabase "Mailbox XYZ"

Here's how to do a batch based on last name letter:

Get-mailbox -Database "Mailbox-Foo1" -ResultSize Unlimited |get-recipient -RecipientType UserMailbox -Filter {lastname -like 'h*'} |get-mailbox |New-MoveRequest -TargetDatabase "Mailbox-Foo2" -BatchName "Foo-batch"

Here are the diagnostic short list:

get-moverequest
get-moverequeststatistics
remove-moverequest foo.user
(get-moverequest).count

SPEED TWEAKS ON HOW TO MOVE MAILBOXES FASTER

I have found that moves are slow unless they are set as EMERGENCY. Here's how:

set-MoveRequest foo.user -priority emergency

Also, some have found that turning off the MRS (throttling) improves performance. I haven't tried it. Here's how:

reg query "HKLM\SYSTEM\CurrentControlSet\services\MSExchange ResourceHealth" /v MRS

:: TURN OFF MRS
echo y | reg add   "HKLM\SYSTEM\CurrentControlSet\services\MSExchange ResourceHealth" /v MRS /d 0
:: STOP EXCHANGE REPLICATION SERVICE
sc stop MSExchangeRepl

:: TURN ON MRS
echo y | reg add   "HKLM\SYSTEM\CurrentControlSet\services\MSExchange ResourceHealth" /v MRS /d 1
:: START EXCHANGE REPLICATION SERVICE
sc start MSExchangeRepl

SEE WHAT'S HAPPENING

Here's how to see how the full list:

Get-moverequest |get-moverequeststatistics |sort-object -Property PercentComplete -descending

Here's how to see how many have finished:

(Get-MoveRequest -movestatus completed).count

Here's how to see how many are in progress:

(Get-MoveRequest -movestatus inprogress).count

Here's how to see how the normal-moves are going:

Get-moverequest -movestatus inprogress |get-moverequeststatistics |sort-object -Property PercentComplete -descending

Here's how to see how the emergency-moves are going:

Get-moverequest -movestatus inprogress -flags highpriority |get-moverequeststatistics |sort-object -Property PercentComplete -descending

WHAT TO DO WITH "FAILED" MOVES

If move requests fail, you can see why. Here's how:

get-moverequeststatistics -includereport foo.user |fl

Usually a single bad item. You can set the move to raise the badlimit just a little and restart the move with the following:

get-moverequest foo.user |set-moverequest –baditemlimit 10 -priority emergency
resume-moverequest foo.user

Contact Dak Networks

We are not taking on new clients at this time.