Part 1: Step-by-Step Exchange 2007 to 2013 Migration

In this article series we will explain and go through all the steps to migrate from Exchange 2007 to Exchange 2013.

The series consists of four Parts:

Before You Begin

Exchange is always considered as a mission critical service; accordingly and to assure a smooth upgrade process without any interruption to mail services, you have to spend some time on planning your deployment and upgrade. A good start can be through the below links:

Exchange 2013 TechEd Sessions and Labs  which includes session about Exchange 2013 high availability, virtualization,  managed availability, retention, site mailboxes, modern public folders, transport, unified messaging, Outlook Web App, EWS, and the most important one in case you will be doing a migration is Exchange Server 2013 On-Premises Upgrade and Coexistence

Sizing Exchange 2013 Deployments by the Exchange Team Blog

Exchange Server 2013 Deployment Assistant


In my Lab I have Exchange 2007 server holding CAS/HUB/MBX roles with a few users on it, published to the internet using TMG (with no pre-authentication), TMG acting as my SMTP GW as well, our goal in these series of posts to deploy a single Exchange 2013 server with all server roles on it, migrate all users and services to the new server, and finally decommission our legacy server.









  1. Exchange 2013 Deployment
  2. Digital Certificates Configurations
  3. Configure Exchange-related virtual directories
  4. Configure offline address book (OAB)
  5. Move Internet mail flow from Exchange 2007 to Exchange 2013
  6. Move Client Access from Exchange 2007 to Exchange 2013
  7. Move mailboxes from Exchange 2007 to Exchange 2013
  8. Move public folder data from Exchange 2013 to Exchange 2013
  9. Decommissioning Exchange 2007

1.Exchange 2013 Deployment

AD Preparation

From a domain joined machine in the same AD domain, & Site of your Schema master (in my case I have single forest single domain and single AD site); with Microsoft .NET Framework 4.5 and Windows Management Framework 3.0 installed, open PowerShell and run the following commands:

Install-WindowsFeature RSAT-ADDS


.\setup /PrepareAD /OrganizationName: contoso /IAcceptExchangeServerLicenseTerms


To Validate your AD preparation open your Schema partition using ADSI and make sure that ms-Exch-Schema-Version-Pt is showing the correct value as shown below:


Open you Active Directory Users and Computers console, you should be able to see the below groups created:


For more validation steps, and information about AD preparation requirements visit this link.

Force AD replication and make sure its successful, then let us move to the next steps.

Exchange 2013 Installation

OS prerequisites Installation:

To Install OS prerequisites on Windows Server 2012 open PowerShell and run the following command:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation


After restart install the below components in the same order:

  1. Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit
  2. Microsoft Office 2010 Filter Pack 64 bit
  3. Microsoft Office 2010 Filter Pack SP1 64 bit

In case you have a different scenario (such as separate MBX & CAS roles) follow the steps in this link.

MBX/CAS Server Installation:

To install MBX/CAS server (in my case I will change the first DB name and directory; this is optional) open PowerShell and run the following command:

.\setup /m:Install /Roles:ca,mb,mt /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents /DBFilePath:"C:\DB01\DB01.edb" /LogFolderPath:"C:\DB01\Logs" /MdbName:"DB01"


You can follow the steps in the below links for different scenarios, or in case you prefer to use the Exchange Setup Wizard:

Install Exchange 2013 Using Unattended Mode

Install Exchange 2013 Using the Setup Wizard

After you complete installation successful let us move to the next steps through part 2 of this series.

Comments (29)

  1. Hi Mohammad, congrats, quite simply!

  2. Bill Witten says:

    Shouldn't you note the potential for a full OAB download here and the optional configurations that could prevent said download from happening?  

    Might also be a good idea to cover the automatic things that will happen once the first Exchange 2013 server is installed such as the effect on Autodiscover, etc.

  3. Mike Mariano MCITP says:

    Very Nice,  Thank You!

  4. Alan Buckwalter SBSC, MCP says:

    Fantastic post.  After trying multiple such documents online, this was the first one that I was able to get to work.  Thank you VERY much.

    Oddly enough, I don't see "Mobile Devices" under "Phone and Voice Features" in my Exchange Admin Center when I click on a mailbox.  I do see this on my Office365 mailboxes when I login to exchange online.  Any thoughts?

    alan at

  5. Alan Buckwalter SBSC, MCP says:

    Follow up to my 28 Sep post – the "Mobile Devices" magically appeared in the EAC 24 hours after the final mailbox migrations.

    Again, thanks VERY much Mohammad!

  6. Jedi James says:

    Quick question i setup exchange 2013 on Windows 2012 server, and seem to have issues telnet to smart host address.  example would be telnet 587.  Have any of you experienced such an issue? No firewalls are enabled on anything, and dont seem to experience this on WIndows 2008

  7. CYRIL says:


    This is for on-premises upgrade, right? What if I set-up an exchange 2013 on a remote server and then need to migrate mail boxes from a 2007 server? How do I migrate mail boxes?

  8. @Cyril please clarify what to you mean by remote ?

  9. @Jedi please refer back to the below link for how to test exchange 2013 using telnet…/bb123686(v=exchg.150).aspx

  10. topokin says:

    Does "/OrganizationName" still have to be used during the AD preparation, eventhough Exchange2013 is to be installed into the existing Exchange2007 Organisation.

    Wouldn't the AD preparation process just updates the present Exchange-Schema if the flag is not used.

    I beleive I do not have to create a new Organisation just for Exch2013.

  11. Bonoslav says:

    repair the this step

    .setup /PrepareAD /OrganizationName: contoso /IAcceptExchangeServerLicenseTerms

    if you are installing exchange to organisation with existing exchange configuration you should use

    .setup /PrepareAD  /IAcceptExchangeServerLicenseTerms

  12. Anonymous says:

    In this article series we will explain and go through all the steps to migrate from Exchange 2007 to Exchange 2013.

    The series consists of four Parts:

    Part 1: Step-by-Step Exchange 2007 to 2013 Migration
    Part 2: Step-by-Step Exchange 2007 to 2013

  13. user says:

    You fail to mention this is for Server 2012. For example, this won’t work on earlier versions: Install-WindowsFeature

  14. rookie says:

    you mention “published to the internet using TMG”. What is TMG?

  15. @bonoslav thanks for the comment I updated the command accordingly

  16. mike says:

    Can I move a 2007 mailbox to a 2013 mailbox with the users still logged into their mailbox?


  17. @Mike yes you can move users while they are still connected, users will be disconnected once the move is completed, users wil be notified that admin have done changes to outlook that requires a restart

  18. Dmitriy Kozhemyak says:

    Why missed step update the schema?
    Setup.exe / PrepareSchema / IAcceptExchangeServerLicenseTerms

  19. Dmitriy Kozhemyak says:

    In my case, I have done a schema update, and then update the domain and encountered an error "OtherWellKnownObjects".I found a solution on the forum TechNet, where it is said that it is necessary to clear this option and update the domain. And so I did.
    Once on the server, I noticed that the Duplicate Exchange Group Security, and continuously recorded errors in the logs:
    MSExchange ADAccess – ID 2601
    Please tell me how to solve this problem?
    Thank you!

  20. @Dmitriy /PrepareAD will check if the Schema was not prepared for Exchange 2013, the setup will prepare schema.

    /PrepareScehma is very useful when having different admins managing AD, and you want to run each step with different accounts.

  21. @Dmitriy regarding the error ID 2601, it could be communication failure between your Exchange and AD servers, so you may check DNS lookups, Network Connectivity and Firewall between Exchange and domain controllers

  22. Marco says:

    Is ist possible to migrate vom Exchange 2007 in Domain A to Exchange 2013 in Domain B?

  23. Pat Williams says:

    Thank you very much for this excellent instruction. My migration went very smoothly due to your article.

  24. Mahmoud alkholy says:

    very nice article, thank you very much Mohamed,

  25. Clint Wills says:

    Nice article, thanks for sharing the helpful steps to migrate Exchange 2007 to Exchange 2013. I found the good utility from which allows to migrate exchange mailbox including all items and public folder. This tool helps to migrate public folder, Exchange Server to Office 365 , intra forest
    and cross forest exchange sever.

  26. Thanks Mohammad it is really a value Blog.

  27. Amasn Devito says:

    However it would be best to avoid this complex & time consuming process as this could result in serious data loss. There is another easy & time saving way doing this i.e. using professional software to migrate data from one Exchange to another. For this,
    one well known proficient software Stellar Mailbox Extractor for Exchange Server is there which securely exports data from edb file to live Exchange eliminating complex manual processes of configuring users time and again.

    To know more about this software visit :

  28. Ozgur says:

    hi dear friends,
    first i am sorry about my bad english.
    i will migrate my exchange 2007 server to 2013 exchange
    and after migration all users will have this message:
    your mail boxes moved to 2013 exchange or something like,
    how can i make this process?which tool i have to use