As soon as a user's source and target mailboxes are in sync, the Mail Source Agent can switch the mailbox to the target server. Mailbox switch allows all the Migration Manager for Exchange components to recognize the mailbox as switched and ensures that all new mail now arrives in the user’s target mailbox.
Mailbox switch can be done either manually from the console or automatically by the Mail Source Agent. If you choose the latter, you can either schedule the mailbox switch operation for a specified time or have the agent switch each mailbox as soon as it is synchronized. Automatic switch is recommended because it is not subject to human error.
Automatic Mailbox Switch
To switch a mailbox, Mail Source Agent and Mail Target Agent do the following:
- When a source mailbox satisfies the conditions of automatic mailbox switch (as configured on the Workflow page of the Mail Collection Properties dialog), the Mail Source Agent prepares the PRV file with 'ready to switch' flag. This file is sent to the target Exchange server and processed there.
- The Mail Target Agent discovers the 'ready to switch' flag in the PRV file and marks the target mailbox with a special property.
- During next session, the Mail Source Agent logs on to the target mailbox and checks whether the target mailbox is already marked with the special property. If so, the source and target mailboxes are considered to be in sync.
- When the mailboxes are in sync, the Mail Source Agent modifies the mailbox targetAddress property so that all mail coming to the source mailbox is now redirected to the target mailbox.
- After the targetAddress property is set for the source mailbox, the Mail Source Agent puts a hidden switch message into the source mailbox. The switch message contains the information about the corresponding target mailbox and is used for updating client profiles. Refer to the Client Profiles Updating Utility document for details.
- During the next session, the Mail Source Agent processes the mailbox to make sure all mail is synchronized. All unsynchronized mail will be synchronized during this session.
- Finally, the Mail Source Agent marks the mailbox as switched with a special property. The mailbox and calendar synchronization agents recognize a mailbox as switched if this property is set.
Manual Mailbox Switch
Mailbox switch can be performed manually using the Migration Manager console, as follows:
- In the management tree, select the mailbox collection.
- Select the mailboxes to be switched in the right-hand pane.
- Right-click the selection and click Switch Mailboxes on the shortcut menu.
Caution: Remote Users Collections are switched automatically. Manual mailbox switch is impossible for the mailboxes included in a Remote Users Collection.
Undo Mailbox Switch
The mail agents do not change or delete anything on the source server. When a mailbox is switched to the target server, new mail arrives only in the target mailbox.
Therefore, any user having problems using the target mailbox can be switched back to the source mailbox by an administrator. To undo a mailbox switch, take the following steps:
- In the management tree, select the mailbox collection.
- Select the mailboxes to be switched back in the right-hand pane.
- Right-click the selection and click Undo Mailboxes Switch on the shortcut menu.
Caution: If you undo the mailbox switch for a mailbox included in a Remote Users Collection, the Mail Source Agent will remove the previously created corresponding target mailbox and start re-synchronizing that mailbox.
Mailbox Synchronization Agents
Legacy mailbox synchronization jobs are performed by the mail agents. The following agents are installed on the source and target Exchange servers:
Mail Source Agent
The Mail Source Agent goes from one mailbox of the currently processed mailbox collection to the next. For each mailbox, it queries Exchange for changes made since the last saved synchronization state and stores these changes in a new PST file.
The PST files are data files that store your messages and other items on your computer. This file format is used by Microsoft Outlook to store and back up items.
The PST file is then compressed and put into a service PRV file with auxiliary information for the Mail Target Agent.
When all mailboxes from the collection are processed, the Mail Source Agent goes back to the first mailbox, whether or not the previous PST file for the mailbox was removed.
It is the Mail Source Agent that switches synchronized mailboxes to the target server. Please see the Mailbox Switch topic for details.
NOTE: The Mail Source Agent processes Remote Users Collections using another algorithm.
The Transmission Agent moves the PRV files created by the Mail Source Agent to the target Exchange server. To reduce network load, the agent moves PRV files with data directly to the destination servers.
If mail data from the server is synchronized with several servers, the Transmission Agent uses a separate thread for each target server.
Mail Target Agent
The Mail Target Agent receives the PRV files, decompresses their contents, and puts them into the target mailboxes.
The mail agents do not change anything in the synchronized message; all the message fields (including the sent and received dates and all address fields) remain unchanged. After the switch, a user will have the same messages in his or her target mailbox as in the source mailbox.
Native Mailbox Move
For migrations that involve Exchange 2010 or Exchange 2013 in either source or target organization, the native move job is an alternative to the mailbox synchronization job. Native move jobs rely on PowerShell-based tools native to Exchange 2010 (and 2013, where applicable) and act as a front-end to those tools.
Before performing mailbox migration using native move job, review the following:
For the list of Microsoft Exchange organization pairs currently supported by the native move job, see the Mailbox Migration Process.
- Migration Manager for Exchange does not provide calendar co-existence for mailboxes migrated by native move job; therefore if necessary you will need to establish it manually using third party tools.
- Public folders cannot be migrated using native move job.
- Native mailbox move provides a limited support for New-MoveRequest cmdlet features. Only target mailbox database, domain part for target email addresses, and options for handling corrupted messages can be configured in native move collection options. Also you can choose whether mailboxes should be switched manually or automatically. For more information, see Setting Up a New Native Move Job.
When using a native move job, you have the option to automatically switch the users' mailboxes after the move. The switch will be performed by Exchange 2010 (or 2013), and you will not need to additionally use Client Profile Updating Utility to change users' Outlook profiles.
NOTe: For details about the technology used by native move jobs, see the Microsoft documentation for the New-MoveRequest PowerShell cmdlet.
Native move jobs are handled by the Migration Agent for Exchange.
Synchronization Specifics in Exchange 2010
How to Avoid Incompatible Mailboxes
An Exchange 2010 server may create unrequested empty mailboxes for mailbox-enabled users that have no mailboxes. This behavior was not present in previous Exchange versions.
The resulting mailboxes are incompatible with Migration Manager and cannot be used by it during Exchange migration. Instead of relying on Exchange to create mailboxes, you should delete such automatically created mailboxes and use mailbox creation settings in your migration project. Mailboxes created by Migration Manager are fully supported.
However, new Exchange 2010 mailboxes should not be deleted indiscriminately, because valid target mailboxes might be deleted in the process. The ForbidDelMailbox2010 parameter has been introduced to facilitate cleanup.
Previously, the ForbidDelMailbox parameter in the mail transfer agent's INI file was the only setting responsible for preserving or removing target mailboxes whose MailboxInfo parameter did not match the same parameter in the source mailbox. The ForbidDelMailbox parameter is a precaution against the deletion of mailboxes that are in actual use in the target environment. By default, it is set to 1 so that non-matched target mailboxes are not deleted.
The following table shows the results of all possible combinations of the values of ForbidDelMailbox2010 and ForbidDelMailbox for different Exchange versions:
The ForbidDelMailbox2010 parameter is not included in the mail transfer agent's INI file by default, and its value is assumed to be 0.
To set the threshold mailbox size (in bytes) for the ForbidDelMailbox2010 parameter, use the additional DeleteMailbox2010IfSmallerThan parameter. If the size of a mailbox is less than or equal to the value of DeleteMailbox2010IfSmallerThan, and the other parameters are set accordingly, the mailbox will be deleted. By default, this parameter is not included in the INI file and is assumed to be 134 bytes.