Exchange 2007 to Exchange 2010 Upgrade / Transition / Migration

KB ID 0000236 


I recently posted an article on Exchange 2003 to 2010 Transition, Only to be asked, “Can you do the same for Exchange 2007 to 2010?”, so here it is 🙂

Before we start, I’m aware “Migration”, “Swing Migration”, and “Transition” have three very different meanings, Depending on which KB, blog or piece of Microsoft documentation you are reading. Be under no illusions the terminology, used in the title and the tags on this page is to catch the web traffic of those, who have an Exchange 2007 Server and want to move all their Exchange, to Exchange 2010 server.


In this Example I’ve got an Exchange 2007 Server running on Server 2003 R2 x64. My new server will run Server 2008 with Exchange 2010.

Just for a “worst case scenario” I’ve put in some public folders and I’ve got some Outlook 2003 clients.

Step 1 – “Pre-Site Visit”

1. Make sure before you start, you have the Exchange 2010 media and unlock code, you don’t want to download the media on a site with a slow internet connection, (at time of writing the disk image is 1GB in size).

2. If your existing domain controllers are all x32, and you are also upgrading domain controllers, during the process, Then you will be extending the domain schema (i.e. it’s not 2003 R2 or 2008) then make sure you have x32 bit Windows media with you (Note: 2003 and 2008 R1 only, as 2008 R2 is all x64 bit).

3. You domain and forest functional levels need to be (at least) Windows Server 2003, before you start the migration.

4. Make sure any third party anti virus and/or mail scanning software is supported and will work on Exchange 2010, and you have the media and licences handy.

5. You will need to install on a x64 bit server, make sure you have a server capable, and Windows x64 bit media with licences.

6. Before you even think about going further make sure you have a good backup! If you are lucky enough to have VMware ESX, Hyper-V or another virtualisation platform, consider doing a P2V conversion on your Exchange 2007 server then simply turning the 2007 Server off, then if it all goes to hell in a hand cart simply turn the original server back on again.

6. While your thinking about backups – does your backup software support Exchange 2010? you might need a new Exchange agent, check with your software reseller.

Step 2 – “Pre Install”

1. Before you do anything, it’s time for a common sense check, make sure your existing Exchange 2007 Organisation is happy and running cleanly, and has good communication with the domain and DNS. Get in the event logs and make sure it’s a happy server.

Time spent on reconnaissance is seldom wasted!

Event Log

2. Now you THINK Exchange is happy, it’s time to MAKE SURE, launch the Exchange 2007 Management Console and select Tools >Best Practice Analyser

Best Practice Analyser

Run a “Health check”, and an “Exchange 2007 Readiness check”. (At time of writing there is no 2010 option).

Exchange 2007 Readiness check

3. Make sure your Exchange 2007 server(s) is/are up to “Exchange 2007 Service Pack 2” (In fact get the latest Exchange update roll up after that as well to be on the safe side).

Exchange 2007 build number

Build Numbers

Exchange 2007 RTM Version 8.0.685.24 OR 8.0.685.25 Exchange 2007 SP1 Version 8.1.(Build 240.6) Exchange 2007 SP2 Version 8.2 (Build 176.2) Exchange 2007 SP3 Version 8.3 (Build 83.6)

To find your Exchange 2007 service pack level compare your build number with the build numbers above. Note you may need to install Windows Installer 4.5 before you can install SP2, (this requires a reboot).

exchange service pack and rollup

4. The brief says your Global Catalog server should be at at least Server 2003 SP2, however I’d be updating all the domain 2003 controllers to Service Pack 2. (Note: you need 381Mb free space on the system drive, plus 170MB additional free space to install SP2).

Locate the Global Catalog Server

Locate Global Catalog

Find the Service Pack Level

Find Service Pack

Step 3 – “Deploy Exchange 2010

1. Build you new x64 bit Windows server and apply all the relevant updates and service packs etc. The new server needs the Office 2010 Filter Pack Installing.

2. You need to add certain roles to the new server before attempting to install Exchange 2010 you can script that though I prefer to do things myself. Start > Server Manger > Roles > Add Roles > Next > Select Web Server (IIS) > Next > Next.

Web Server (IIS)

3. On Role Services, under security > tick Basic Authentication > tick Windows Authentication > Tick Digest Authentication > Under Performance tick Dynamic Content Compression.

Dynamic Content Compression.

4. Under Management Tools > Select IIS6 Management Comparability > Next > Install > Close (when finished).

IIS6 Management Comparability

5. Now you need to add “Server Features”, primarily .Net Framework 3.5 that is in Server Manager > Features > Add Features > Expand .NET Framework 3.5.1 Features > Expand WCF Activation > tick HTTP Activation > Select to add Required Role Services.

HTTP Activation

6. Scroll down and below “Remote Server Administration Tools” > Role Administration Tools > Select “AD DS and AD LDS Tools” > Next > Next > Next > Install > Close (when finished) > You may be asked to reboot.

Note: If you are installing on a domain controller (Which is NOT recommended), the “AD DS and LDS tools” will already be installed.

AD DS and LDS tools

7. Post reboot the process will finish.

8. You need to set the startup type of the “Net Tcp Port Sharing” service to automatic > Click start > Run > Services.msc {enter} > Locate the Net Tcp Port Sharing Service and set its startup type to automatic.

Note: If you don’t see this service then you probably didn’t complete the reboot in the previous step.

Net Tcp Port Sharing Service

The following steps are not actually required (they should be done by the actual install), BUT, on more than one occasion I’ve seen the setup fail and I’ve had to run these commands manually, so not I do them as a matter of routine.

9. Open a command windows and either navigate to the folder containing the Exchange 2010 setup files (Or the DVD) and issue the following command: /PrepareSchema


10. While still at command issue the following command: /PrepareAD


11. While still at command issue the following command: /PrepareDomain


10. Put in the Exchange 2010 DVD, or navigate the folder containing the setup files. Run setup.exe, If you are using the multi language version you should be at “Step 3: Choose Exchange Language option” > Select it. > Select Install Languages from DVD.

setup exchange

11. Select “Step 4: Install Microsoft Exchange” > Files will extract and setup will Start.

Install Exchange 2010

12. At the Introduction screen > Next.

Exchange Setup

13. Accept the EULA > Next.


14. No, we don’t want to do error reporting > Next > Select “Typical” > (If you installing with SP1 see the note below) > Next.

Exchange 2010 roles

*****Update 18/03/11*****

If you are deploying Exchange 2010 with SP1 included, at this point select “Automatically install Windows Server roles and features required for Exchange Server”

Auto Install Exchange roles

15. If this is the only one, or it going to be your main “Bridgehead Server” then it will be internet facing > tick the box > enter your full domain name > Next

internet facing

16. No we don’t want to join the CEIP > Next > Exchange will perform a series of readiness checks > when finished click Install.

Migrate to Exchange 2010

17. When done, click Finish > And the Exchange Management Console will Launch > To enter the Product Key, select “Server Configuration > Select the server > Select Enter Product Key. Then either restart the Exchange information store service or reboot.

Exchange 2010 Key


At this point don’t expect each server to show up in the others Exchange Management Console

Step 4 – “Configure and Migrate”

1. First I’m going to create a public folder database, and replicate the public folders form Exchange 2007 into it, Go to the Exchange Management console on the 2010 server. > Expand “Organisation Configuration > Mailbox > Database Management tab > “New Public Folder Database. > Give the database a a name and choose the NEW server to host it > Next > New > Finish.

New Public Folder

Then you need to make the new public folder database, the default one for the mailbox database > right click the mailbox database > Properties > Client Settings > Browse > Select the new one > OK > Apply.

Allocate public folder database

2. The next step is to set up a replica of your public folders in the new database, to do this use the Toolbox > Public Folder Management console.

public folder management

3. Now Exchange 2010 has its own public folder database it connects to that by default, Right click “Public Folders” > Select “Connect to Server” > Browse to the OLD server.

Change Exchange server

4. Select > Default Public Folders > The public folders should show in the middle screen > Right click the first one and select properties > replication tab > Add > Add in the NEW server > OK > You can un-tick the “Use public folder data store replication schedule” and change the drop down to “Always run” if you wish > Apply > OK.

replicate public folders

5. If you have any Outlook 2003 clients you need to replicate the “SCHEDULE+ FREE BUSY” public folder > This is under “System Public Folders” > Select it and you will see the folder in the centre view, create a replica on the NEW server as in the above step.

free busy folder

Replication is a LOT faster than it used to be, within a few hours it should be complete, occasionally it stalls, if that that happens right click “Public Folders” and select “Update-Hierarchy” or In the Exchange Management shell issue the following command.

Update-PublicFolderHierarchy -Server {Exchange2007 Servername}

2010 update public folders

6. At this point you need to change the SMTP feed from the old Exchange 2007 box to the new Exchange 2010 Server, how you do this depends on your network setup, some examples of how you might do this are,

i. Change the SMTP (TCP Port 25) Port redirect on your router/firewall address ii. Swap IP addresses from the old to the new server. iii. Change the translation from public to private IP address to point to the new IP.

Note: If you have any mail scanning servers, anti spam hardware devices etc, then they will also need changing to point to the new server.

7. You will need to add the NEW server to the exchange organisations send connector, from within the Exchange Management Console > Organisation Configuration > Hub Transport > Send Connectors > Right click your send connector (yours may have a different name) > Properties > Source Server > Add > Add in the NEW server > Apply.

2010 Send Connector

Then test mail flow works once again, this time through the new server.

8. Now you can start moving mailboxes from the old server to the new one, what I tend to do is move one mailbox, test mail flow outbound/inbound, then test mail flow internally from the mailbox I’ve just moved, to a mailbox that’s still on the old server. Once I’ve proved this works I will move the rest of the mailbox’s.

Test Mail Flow

To move a mailbox, open the exchange 2010 management console, expand “Recipient Configuration” > Select Mailbox > You should see all the mailbox’s listed > Right click the mailbox you want to move > Select “New Local Move Request”.

Local Move Request

At the introduction screen, hit the browse button and select your new servers data store > Next > Next > New > Finish.

2007 Move Mailbox

Once you have moved one and tested, it you can move the rest of the mailbox’s.

Note: Outlook 2003 cannot connect to Exchange 2010, you need to turn on encryption before it will work. In Outlook Tools >Email Accounts > View or Change > Select the Exchange account > Change > More Settings > Security > Tick “Encrypt data between Microsoft Office Outlook and Microsoft Exchange Server > Apply > Restart Outlook.

2007 Remove Encryption

To disable Encryption for ALL Exchange 2010 connections

Issue the following PowerShell command in the Exchange 2010 Management Shell.

Set-RpcClientAccess –Server {Server Name} –EncryptionRequired $False

9. Next task is to change the server responsible for generating the offline address book. On the Exchange 2010 server Exchange Management Console, Expand “Organization Configuration” > Mailbox > Select the “Offline Address Book” tab > Right click the Default Offline address book and select “Move” > Browse > Select the new server > OK > Move > Finish.

2007 Move OAB

10. Now you will need to change your backups to include the new data stores. Your backup software will probably require you install the Microsoft Exchange Server MAPI Client and Collaboration Data Objects before it can back up the data stores correctly, before you install the backup agents (ARCserve and Symantec Backup Exec for example). Download the CDO Objects.

11. Be aware: some AV software (McAfee for example) likes to block TCP port 25 (SMTP), this is not good on an Exchange server! don’t forget to disable this feature or you may have mail flow issues.

Mcafee blocks Exchange

12. Still on the subject of AV, Make sure the folders that contain the Exchange Databases and Logs are EXCLUDED from the AV scans. (If not. your Exchange Server can break if your AV decides to quarantine a log file for example). You should have Exchange aware Backup solutions anyway, e.g. McAfee GroupShield, Trend ScanMail, etc.

Step 5 – “Do Nothing

1. Now I would wait, If you have any Outlook 2003 clients they will need to log on and get redirected to the new exchange server for their mail – this happens seamlessly in the background as long as the old server is still on, (though I have seen it fail and need to be manually changed on a handful of client machines).

Note: By

Step 6 – “Decommission and remove Exchange 2007”

1. First check your Public folders are in sync. Connect to each server and compare the size and item count, don’t forget to also check the SHEDULE+ FREE/BUSY folder if you set that to replicate.

2007 2010 folder replication

Remove the replicas from the original server.

2007 remove public folder replica

2. Now I would delete the mailbox database(s) from the old server.

2007 Delete Mailbox Database

Then the Public Folder Database.

2007 Delete PF Database


Public Folder database contains replicas

Click HERE

or in EXTREME situations (sometimes it refuses to delete no matter what you do) run ADSIedit and remove it from CN=Configuration,CN=Services, CN=Microsoft Exchange, CN={organisation name i.e First Organisation}, CN=Administrative Groups, CN={Administrative Group name}, CN=Servers, CN={servername}, CN=Information Store, CN={Storage Group Name}, CN={Public Folder Database Name} THEN REBOOT

ADSIEdit Delet ePublic Folder Database

3. You now need to remove the old server from the source server list on the organisation send connector.

4. In control panel go to add remove programs and select Exchange Server 2007 > Next > Untick all the roles > Untick Management Tools > Next.

Remove Exchange 2007

The server will run thorough its readiness checks > Uninstall > Finish.

Uninstall Exchange 2007

Also see, Transferring Certificates from Exchange 2003/2007 to Exchange 2010


Related Articles, References, Credits, or External Links


Author: Migrated

Share This Post On