Hello Guys Today we are going to discuss about the process of moving exchange mailboxes using PowerShell Commands and Exchange Admin Centre. As you know that I always feel proud while writing a post about Exchange Server. You might have read my last post which I had written about conversion process of Linked mailbox to User mailbox.
So, Today we are going to discuss a new topic of exchange server which is moving mailboxes in exchange server from one database to another database using EAC as well as Commands.
Moving Mailboxes using Exchange Admin Center
Moving a Single Exchange Mailbox is really an easy task to perform using EAC. Just follow below steps for migration:
- Go recipients and then select mailboxes in EAC. Now select a mailbox by clicking on that then navigate to the Action Pane at right side and then click on To another database link at bottom in Move Mailbox section.
- Now select mailboxes which you want to move to other database and click on Next button to proceed.
- Now you will see a New Migration Batch wizard. Just enter New migration batch name and select any radio button according to your choice. In this example I have selected Move the Primary mailbox and the archive mailbox if one exists. Select Target Database by clicking on Browse button. If you want to move mailboxes to archive database then you may select archive database by clicking on browse button. Leave Bad Item Limit as 10 and Click on Next button to proceed.
- Now you have to provide at least one recipient to get notification emails of moving mailbox process. In this example I have selected Administrator as a recipient. After selecting a recipient select automatically start batch option and then again select automatically complete the migration batch option.
- At last click on New to start moving mailboxes.
Moving Mailboxes using Exchange Management Shell
Just run below command for moving mailboxes using PowerShell Commands:
Get-Mailbox -Database DBname | New-MoveRequest -BatchName “batch name” -SuspendWhenReadyToCompleteWhere:
Dbname is the hosted database name
batch name is complete batch to be moved
SuspendWhenReadyToComplete is for preventing automatic completion therefore move process will not start in business hours.There is no target database is assigned there for Exchange server will automatically distribute all batch mailboxes in available databases.
To view the distribution mailboxes for target databases run below command:
Get-MoveRequest -BatchName “batch name”
- To monitor the Mailbox move request process run below command:
Get-MoveRequest -BatchName “batch name” | Get-MoveRequestStatistics
- At 95 percent completion of moving mailboxes process it will show AutoSuspended status but Mailboxes can be accessed during AutoSuspended. Now you have to resume the move mailboxes process for completion. Therefore first remove AutoSuspended flag by running following command:
Get-MoveRequest -BatchName “batch name” | Set-MoveRequest -SuspendWhenReadyToComplete:$false
- Now resume moving mailboxes request process by running Resume-MoveRequest Command as written below:Command:
Get-MoveRequest -BatchName “batch name” | Resume-MoveRequest
- Keep monitoring till the completion of move request of mailboxes by running commands written in step 3.
In this post we discussed about move mailbox request for moving one or many mailboxes from one database to another database. We discussed the process using two ways, one is using Exchange Admin Centre and another way is using PowerShell Commands.
As you saw that both ways for moving mailboxes were good and easy to perform. Therefore you may selected whatever way looks good for moving exchange mailboxes in exchange server 2013.
I will write again a new post about new features and functionalities of exchange server therefore keep reading my exchange server guide blog.
Thank You for reading.