Methods for moving mailboxes and public folders to Exchange 2007

Learn how to migrate older Exchange Server mailboxes and public folders to Exchange 2007 using the Move Mailbox Wizard GUI tool or Exchange Management Shell.


Microsoft Exchange Server 2007 offers multiple methods for moving mailboxes and public folders from Exchange 2003 or Exchange 2000. The Exchange Management Console's Move Mailbox Wizard is a native GUI tool administrators can use to easily migrate mailboxes from older versions of Exchange to Exchange 2007. For script-savvy administrators, the Exchange Management Shell is also an option. This tutorial outlines step-by-step how to identify legacy Exchange mailboxes and public folders and move them to Exchange 2007.


   How to use the Move Mailbox Wizard
   Move mailboxes with the EMS
   Migrate public folders to Exchange Server 2007



  How to use the Move Mailbox Wizard  Return to Top


If you're a visual person, the Move Mailbox Wizard is the tool of choice for migrating mailboxes from Exchange 2003 to Exchange 2007 servers. Exchange Server 2003 has its own Move Mailbox Wizard. But anytime you move mailboxes to or from an Exchange 2007 server, you must use the Exchange 2007 version of the Move Mailbox Wizard. Exchange 2007 mailboxes use management tool attributes that are unavailable in Exchange 2003. Attempting to use Exchange 2003 server management tools can cause severe damage.

To use the Exchange 2007 Move Mailbox Wizard, open the Exchange Management Console and navigate through the console tree to:

Recipient configuration -> Mailbox

In Figure 1, you'll notice that the Mailbox container lists every mailbox in the entire Exchange organization, regardless of the server on which it is located. You'll also see the Recipient Type Details column, which allows you to differentiate between mailbox types. This is important because mailboxes that are listed as legacy mailboxes are located on Exchange 2000 or Exchange 2003 servers.

Exchange Server 2007 Exchange Management Console

Figure 1. Use the Recipient Type Details column to identify legacy mailboxes. (Click on image for enlarged view.)

To start the Move Mailbox Wizard:

  1. Right click on a mailbox and choose the Move Mailbox command.

    Doing this for each individual mailbox can be time consuming if you have a large number of Exchange Server mailboxes to migrate. There are a few tricks that will accelerate the process. First, I recommend moving a few mailboxes individually as a test before using any shortcuts to move several mailboxes. The Exchange Management Console lets you select multiple mailboxes before choosing the Move Mailbox command.

    Another thing you can do to facilitate the process is to click on the header of the Recipient Type Details column. This will inform the Exchange Management Console to sort the mailboxes by type. Therefore, you can group all legacy mailboxes together and select all of them at once, without having to hunt through the recipient list for each individual legacy mailbox.


  2. When the Move Mailbox Wizard starts, select the database to which you want to move the mailbox or mailboxes.


  3. Click Next, and you'll be taken to a screen that asks you how to deal with mailboxes containing corrupted messages. By default, the wizard will skip any mailboxes that contain corrupted messages. However, the wizard contains an option to skip the corrupt email, instead of skipping the entire mailbox. You do have to specify the maximum number of corrupted messages that you want to skip before skipping the entire mailbox.


  4. This screen also allows you to choose which global catalog server and domain controller you want to use for the move. Although you have the option, you don't have to select a server. If you don't make a selection, by default, Exchange will select a global catalog server and a domain controller.


  5. Click Next again and the screen will prompt you to schedule the move. The default option on the screen would schedule the move to occur immediately. In a production environment, you might want to schedule the move for a time when users aren't accessing their mailboxes frequently and associated servers aren't so busy.


  6. This screen will also provide you with a summary of selected options. Review these, and then click Move to begin the mailbox move.


  7. When the process completes, click Finish.


  Moving mailboxes with the EMS  Return to Top


The Exchange Management Console is a GUI built on top of the Exchange Management Shell. Any changes performed within the Exchange Management Console can also be done at the command line. To perform both user mailbox migrations, some administrators prefer to script the operation via the Exchange Management Shell, rather than use the GUI.

A basic command to create such a script includes the Move-Mailbox command, which is used to move mailboxes to Exchange 2007. The syntax for the command can be awkward. Before you enter the command, you must supply the name of the mailbox that you're migrating. The username must be enclosed in apostrophes and in the domain\Users\username format.

After specifying a username, enter the Move-Mailbox command, followed by the Target Database parameter. The Target database must include the following text, enclosed in apostrophes: server name, storage group name and database name. For example, if you were to move the Contoso\User1 user to a mailbox database located in the first storage group on a server named Server1, the command would be:

'' -> Move-Mailbox –TargetDatabase 'Server1\First Storage Group\Mailbox Database'

If an error occurs, it's easy to move mailboxes back to a legacy Exchange server. This process is identical to the initial mailbox migration process, except that you must specify a store on your legacy Exchange 2000 or Exchange 2003 server.


  Migrate public folders to Exchange 2007  Return to Top


Public folder-related administrative controls aren't entirely robust in Exchange Server 2007. But there are at least two methods to move public folders from legacy Exchange servers to Exchange 2007.

Method 1


  1. Create a public folder store on the Exchange 2007 server.


  2. Go back to your Exchange 2003 server and add the Exchange 2007 server to the public folder replica list.


  3. Once the replication process is complete, remove your legacy Exchange servers from the list. Microsoft's Knowledge Base article offers additional details on moving public folder replicas from Exchange 2003 to Exchange 2007.

More Exchange 2007 mailbox and public folder resources:
Move mailboxes to Exchange 2007 after a Windows upgrade

Manage Exchange 2007 public folders with the Exchange Management Shell

Preparing for Exchange Server 2007

Exchange Server 2007 Reference Center

When you're using Local Continuous Replication (LCR) or Cluster Continuous Replication (CCR) on your Exchange 2007 server, it allows you to only use one public folder store in your organization. To clarify, this means that you can have one public folder store in the entire Exchange organization -- not one public folder store per server. Therefore, if you're using Local Continuous Replication or Cluster Continuous Replication, you must disable the technology until after you move the public folder store.

Method 2

The other method to move public folders involves running one of two shell scripts, which can be found in the Exchange server's C:\TEMP\SCRIPTS folder. The first of these scripts is MoveAllReplicas.ps1. If you wanted to move all public folder replicas from Server1 to Server2, use the following command:

MoveAllReplicas.ps1 –Server Server1 –NewServer Server2

Moving a segment of the public folder tree, however, is more complicated. For instance, suppose that your public folder tree contains a folder named Finance. If you wanted to move this folder and all of its subfolders from Server1 to Server2, you would use the command:

ReplaceReplicaOnPFRecursive.ps1 –TopPublicFolder "\Finance" –ServerToAdd Server2 –ServerToRemove Server1

While this command is a bit more complicated, the syntax is fairly straightforward. You can also get additional help for using these scripts in the Microsoft TechNet article, How to move public folder content from one public folder database to another public folder database.


Brien M. Posey, MCSE
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Exchange Server, and has previously received Microsoft's MVP award for Windows Server and Internet Information Server (IIS). Brien has served as CIO for a nationwide chain of hospitals and was once responsible for the Department of Information Management at Fort Knox. As a freelance technical writer, Brien has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal Web site at

Do you have comments on this troubleshooting guide? Let us know.

Please let others know how useful this tip was via the rating scale below. Do you know a helpful Exchange Server, Microsoft Outlook or SharePoint tip, timesaver or workaround? Email the editors to talk about writing for

Dig Deeper on Legacy Exchange Server versions