Microsoft Exchange Server 2003 To 2010 Upgrade

Microsoft Exchange Server 2003 To 2010 Requirements and Migration – Exchange 2010 on Windows Server 2008 R2:

  • Prepare: Ask users to clean up their mailboxes, empty deleted items ahead of time so you can cut down on mailbox move time.
  • Prepare: connect the two Exchange servers to the same Gigabit switch to speed up the mailbox move. I would connect them directly to the switch since you might have old cat5 cabling in the walls.
  • Join the new Windows 2008 server R2 that will run Exchange 2010 server to the Windows Domain and make sure you are logged in as Domain Admin to complete the move process.
  • Make sure Internet Protocol IP 6 is enabled/checked in the Properties of the Exchange 2010 Network Adapter.
  • Make sure Windows Domain and Forest levels are at Windows 2003 level (you can’t have Windows 2000 domain controllers on the network!). Go to Active Directory Domain and Trust and right-click on the Forest and choose Properties and check the Domain Functionality Level and Forest Functionality Level. Raise both if needed.To raise the Domain level, right-click on the domain and choose Raise Domain Functionality Level.

    To raise the Forest Level, right click on Active Directory Domain and Trust and choose Raise Forest Functionality Level.

  • Open the Exchange 2003 System Manager and right click on the Organization, make sure under Operation Mode is at “Native Mode”. If it’s in mixed mode, change it to “Native Mode”. No older Exchange servers are allowed!
  • If needed, Suppress Link State Updates on Exchange 2003 Microsoft Link Here . I didn’t have to do it last two migrations.
  • Install Windows Remote Management (WinRM) 2.0 and Windows PowerShell V2. Download them here
  • Download and Install Microsoft Office 2010 Filter Packs. For Exchange 2010 SP1 Download Here (The download might not work with the RTM version – check Microsoft site for RTM – not sure!).
  • Register the IFilter
    IFilter Registration Instructions Are Here Note: to run a Power Shell script called RegFilter.ps1 that is located on the C:\ drive, Start Command Line as Administrator and type:

    powershell.exe -noexit c:\RegFilter.ps1

    -OR- Another way

    From Command Line type powershell
    PS C:\> Set-ExecutionPolicy RemoteSigned
    PS C:\> .\RegFilter.ps1

  • Go to Services and change Net.TCP Port Sharing service startup type to Auto – it might be disabled.
  • Install the following Windows Components required by Exchange 2010 Server:Start PowerShell by going to Accessories –> Command Line–> right-click on Command Line and choose “run as administrator”.

    Type powershell to start Powershell
    PS C:\>Import-Module ServerManager

    Then type:
    PS C:\>Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Web-WMI -Restart

  • Restart server. Run Microsoft Updates to install latest Service Pack and Updates for .NET.
  • From the Exchange DVD run (command line): Setup /PrepareLegacyExchangePermissions

    Now before you do the next step, you might want to stop replication on the Primary Domain Controller in case anything goes wrong with PrepareSchema, the bad schema won’t replicate to other domain controllers.

    To find out the PDC server on the network, go to any domain controller command line and type:

    netdom /query fsmo

    Go to the PDC and disable outbound replication, Go to Command Line –> type the following text, and then press ENTER:
    repadmin /options +DISABLE_OUTBOUND_REPL

    Now back to Exchange DVD, Command Line, prepare Schema:

    Setup /PrepareSchema

    Re-enable outbound replication. Go to Command Line on PDC –> type the following, and then press ENTER:
    repadmin /options -DISABLE_OUTBOUND_REPL

    You can check the replication status by typing

    Repadmin /showreps

    Now prepare Active Directory:
    Setup /PrepareAD

    You should be ready now to install Exchange 2010 on the Windows 2008 R2 Server:

    Finishing up Migration – Exchange 2010 Installation:

  • Install Exchange 2010 from DVD by running Setup.
  • After setup is complete, Reboot. Run Microsoft Updates, download and apply latest Service Packs and updates for Exchange 2010. Reboot. Exchange Service Packs and Roll-ups might take an hour to apply – so be patient and prepared. Every time you reboot and start Windows run updates to make sure all updates are installed. Make sure latest Exchange 2010 service pack is installed, sometime Microsoft Updates don’t show it and you have to manually download it and install it.
  • On the Exchange 2010 –> Server Configuration –> Enter Product Key Group.
  • On the Exchange 2003 Server Manager, expand Administrative Groups, First Administrative Group, Folders, Public Folders, Offline Address Book, /o=xxx/cn=addrlist…., right click on it and choose All Tasks and Manage Settings (If that is unavailable, then right click and choose Properties). Add the new exchange 2010 server as a new replica.
  • On Exchange 2010 Server Manager, go to Server Configuration –> on the right under Mailbox make sure that that mailbox database shows as MOUNTED under the Copy Status column.
  • On Exchange 2010 Server Manager, Organization Configuration, Hub Transport, Send Connectors, Create a new Send Connect. For “Name”, call it Internet. For “Select Intend for this Send Connector”, choose Internet. Click Next and type * for Address Space. Click Next and Finish.Important under Organization Configuration, Mailbox, on the Right and under the top section that says “Mailbox” click on the Database Management tab, right-click on the mailbox database (might say something like “Database 0681573537”) where the users are stored, right click and choose Properties. Go to the Client Settings tab and make sure the Offline Address Book is pointing to the servers Offline Address Book (sometimes Offline Address Book has no entry there) – if it’s not there, click Browse and grab it. A missing Address Book means people connected to the new Exchange server will be getting errors when downloading the Address Book in Outlook Clients.

    On the Exchange 2010 server manager, go to Server Configuration, Hub transport, Under Receive Connectors, right-click on Default Exchange and choose Properties, Add Anonymous under Permission Groups.

  • Enable Outlook Anywhere. EMC –> Server Configuration –> Client Access –> select the server and on the right pane select “Enable Outlook Anywhere”, when prompt type in the external host name (something like
  • Select Client Access in Server Configuration & click on the Outlook Web Access tab. Select owa (Default Web Site) and click the Properties. Select Authentication tab. Under Use forms-based authentication: select User name only. Click Browse and select the domain name. Click OK.
  • Add an A record for Exchange 2010 Autodiscover address and webmail address on the external/Internet DNS. Something like pointing to the IP address of the OWA from outside. You should already have added the OWA address which would be something like
  • Obtain a SAN/UC SSL Certificate. That will allow you to have one certificate with multiple domains. SSL is a requirement for Exchange 2010 and choosing a SAN/UC Certificate makes things easier, since you have an internal Windows Domain plus an external Internet domain.
  • To configure another email domain that the Exchange should accept Follow this document.
  • Move mailboxes. EMC on Exchange 2010, Recipient Configuration, Mailbox, right click on the user and choose New Local Move request. After that you need to upgrade Address List, will be providing instructions on that shortly.
  • If you test sending email from a mailbox that was just moved from the Exchange 2003 to the Exchange 2010, and you get NDR and email bounces back with errors like “#5.2.0 smtp;550 5.2.0………”, or you’re getting error messages on the Exchange 2003 in the Application log saying “Named Prosperity Quota Limit reached….”. Check the following bostonIT Knowledgebase
  • Move Public Folders. On the Exchange 2003, open EMC, –> Administrative Groups, First Administrative Groups, Servers, the Exchange 2003 server, First Storage Group, Public Folder Store, right click and choose Move All replicas.
  • Move Address Books. EMC, Organization Configuration, Mailbox, Offline Address Book Tab on the right, right click on the Default Offline Address Book and choose Move.
  • Important: After moving mailboxes from Exchange 2003 to Exchange 2010, Outlook Client might show disconnected even though Outlook has been updated automatically to point to the new Exchange server. Go to Account Setting in Outlook –> More Setting and under Security tab make sure you check the box that says “Encrypt data between Microsoft Outlook and Microsoft Exchange Server). As soon as you do that, The Outlook Client will connect.If you have Outlook 2003, make sure you apply Office 2003 Service Pack 3 on PCs.

    Try to use Outlook 2003 in Cache Mode to avoid issues. Recommended, latest service packs for Outlook 2007/2010.

    You might have a problem with Shared Calendars on Outlook 2003. Disable Cache Mode, open Outlook with /cleanviews from command line and then enable cache mode.

  • Important: Even after migrating everything to the new Exchange 2010, don’t turn off the old exchange or uninstall it until all users open up their Outlook clients so they would auto re-configure with the new Exchange 2010 server name. Otherwise if the old Exchange is shutdown or uninstalled, you would need to go around and reconfigure Outlook clients with the new exchange server name. Why would anybody want to do that if the clients would re-configure as soon as you open them up!
  • After you have moved mailboxes and public folders to the new exchange server, I would shutdown the old Exchange 2003 server and reboot the Exchange 2010 server and make sure everything is working fine with the new exchange server (Outlook, Web Access, email and so on) so in case you have any issue you would still have the old exchange server to start and resolve issues.
  • Removing the old Exchange server entails, going to the Exchange 2003 Manager and deleting the Public Folders Store (you might need to do it through ADSIEDIT if it complains about something), deleting the Mailbox Store on the Exchange 2003, deleting the Connectors under Routing Groups of the Exchange 2003 server, Going to the Receipt Update Service and removing the Receipt Update Service, removing the Receipt Exchange Service (Enterprise) using ADSIEDIT, then going to Add and Remove programs to uninstall Exchange 2003. The following document explains that better.
  • While uninstalling the Exchange 2003 server you might get a message that Exchange 2003 can’t be uninstalled “The component “Microsoft Exchange Messaging and Collaboration Services” cannot be assigned the action “Remove” because: – One or more users currently use a mailbox store on this server”, even though you have migrated all mailboxes to the Exchange 2010 server. To find which mailbox still sits on the 2003 server, go to Active Directory Users and Computers on Exchange 2003, right click on the domain and click Find, in the Find field click “Custom Search”, Click Advanced tab and type the following under the LDAP query:(&(objectCategory=user)(msExchHomeServerName=*))

    Under the View, select Choose Columns, under Available Columns, choose “Exchange Home Server” and hit Find now, you should see any mailbox that is still sitting on the Exchange 2003, you can then move it, delete it or delete the Exchange attributes from it.
    The following article explains it more:

    If you find this article useful, please send me an email to so I can keep on adding more hands-on knowledgebase articles.



0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *