Exchange 2010 Cross Forest Migration

Posted: August 17, 2011 in Exchange
Tags: , , , ,

This blog post is aimed at helping to explain all the steps required to move mailboxes across forests from Exchange 2003 to Exchange 2010 so that you can be prepared with the correct data/tools, make better plans, and successfully perform a migration without encountering painful problems.

Step 1: Install Exchange 2010 SP1 on the new forest

To Install Exchange 2010 SP1 on the new forest: http://technet.microsoft.com/en-us/library/dd351084.aspx

Step 2: Create Shred SMTP Domain to allow routing and mail flow between Exchange 2003 & 2010

Exchange 2003: http://support.microsoft.com/kb/321721/en-us

Exchange 2010: http://technet.microsoft.com/en-us/library/bb676395.aspx

Step 3: By Using PrepareMoveRequest script prior to ADMT

Important Note: Microsoft recommendation on working with ADMT is to rely on the PrepareMoveRequest script to create the local user object for mailbox move, and then use ADMT to migrate SIDHistory and password and merge this into the MEU created by PrepareMoveRequest.ps1 script.

Running ADMT first, without ensuring exclusions on msExch* attributes, can cause corrupted objects which the script cannot correctly convert with the -UseLocalObject switch.

So, the second step will be the use of PrepareMoveRequest script to create the local user object for mailbox move and prepare the mailbox for movement.

To run the PrepareMoveRequest script, open exchange power shell and navigate to C:\Program Files\Microsoft\Exchange Server\V14\Scripts

Type the below commands and then press enter

$Target= Get – Credential
“Enter Target Forest admin account”

$Source= Get-Credential
“Enter Source Forest admin account”

Then Type the below commands and press enter

./Prepare-MoveRequest.Ps1 -Identity “CN=testaccount, OU=Test, DC=sourcedomain,DC=local” -RemoteForestDomainController dc01.sourcedomain.com -RemoteForestCredential $source
-LocalForestDomainController dc0.targetdomain.local -LocalForestCredential $Target -TargetMailUserOU “OU=Migration, DC=targetdomain, DC=local” -UseLocalObject

For Bulk users Create a new CSV file, include 1 Column Identity as below:
Identity
testaccount1@mydomain.com
testaccount2@mydomain.com

Run the following command to prepare bulk of mailboxes

Import-Csv C:\Scripts\preparemoverequest.csv | .\Prepare-MoveRequest.ps1 -RemoteForestDomainController dc01.sourcedomain.com -RemoteForestCredential $source -LocalForestDomainController dc0.targetdomain.local -LocalForestCredential $Target -TargetMailUserOU “OU=Migration, DC=targetdomain, DC=local” –UseLocalObject

After preparing the mailboxes for movement you can easily now use ADMT to migrate and merge AD users to the new forest’s AD users.

Step 3: By Using ADMT prior to PrepareMoveRequest script

Install, configure and migrate AD accounts using ADMT: http://technet.microsoft.com/en-us/library/cc974332(WS.10).aspx

After migrating the user accounts from the source domain to the target domain you will need to convert those users to a Mail enabled user by using the below command,

For Bulk users Create a new CSV file, include 2 Columns (Identity) and (ExternalEmailAddress) as below:

Identity,ExternalEmailAddress
testaccount1,heikal.testaccount1@mydomain.com
testaccount2,testaccount2@mydomain.com

Then run the following command to convert the migrated user accounts to MEU

Import-Csv C:\Scripts\MEU.csv | ForEach-Object -Process {Enable-Mailuser -Identity $_.Identity -ExternalEMailAddress $_.ExternalEmailAddress}

After converting the migrated user accounts to MEU you can now run the PrepareMoveRequest script to prepare mailboxes for movement.

To run the PrepareMoveRequest script, open exchange power shell and navigate to C:\Program Files\Microsoft\Exchange Server\V14\Scripts

Type the below commands and then press enter

$Target= Get – Credential
“Enter Target Forest admin account”

$Source= Get-Credential
“Enter Source Forest admin account”

Then Type the below commands and press enter

./Prepare-MoveRequest.Ps1 -Identity “CN=testaccount, OU=Test, DC=sourcedomain,DC=local” -RemoteForestDomainController dc01.sourcedomain.com -RemoteForestCredential $source
-LocalForestDomainController dc0.targetdomain.local -LocalForestCredential $Target -TargetMailUserOU “OU=Migration, DC=targetdomain, DC=local” -UseLocalObject

For Bulk users Create a new CSV file, include 1 Column Identity as below:
Identity
testaccount1@mydomain.com
testaccount2@mydomain.com

Run the following command to prepare bulk of mailboxes

Import-Csv C:\Scripts\preparemoverequest.csv | .\Prepare-MoveRequest.ps1 -RemoteForestDomainController dc01.sourcedomain.com -RemoteForestCredential $source -LocalForestDomainController dc0.targetdomain.local -LocalForestCredential $Target -TargetMailUserOU “OU=Migration, DC=targetdomain, DC=local” –UseLocalObject

Step 4: Initiate the New-MoveRequest cmdlet to begin the mailbox migration process

To Initiate the Move Request for bulk mailboxes, Create CSV file contains the following field:

Identity
testaccount01
testaccount02

Run the following command
Import-Csv C:\Scripts\new-moverequest.csv | New-MoveRequest -RemoteLegacy -TargetDatabase “NEW-DB” -RemoteGlobalCatalog dc01.sourcedomain.com -RemoteCredential $source -TargetDeliveryDomain targetdomain.local

========================================================================

Finished, SO EASY STEPS TO MIGRATE EXCYHANGE 2003 TO EXCHANGE 2010 CROSS FORESTS.

Advertisements
Comments
  1. frank says:

    You need to give more detail!
    How do you made the CSV files for BULK USER, plus your example make no sense

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s