Before installing the first Exchange 2013 server during a migration project we must first prepare Active Directory.

These preparation steps can happen automatically during installation of the first server, as long as the correct conditions are in place. For example, if you are running Exchange Server 2013 setup:

  • On a 64-bit server in the same Active Directory site as the Schema Master, and as a writeable global catalog for each domain in the forest
  • With an account that has Schema Admins, Domain Admins and Enterprise Admins permissions

For a simple environment with one or just a few sites and only one domain in the forest it can be easier to just allow this preparation to run as part of the first server installation. However, more complex environments, or those that need to control their change schedule a bit more closely, running the Active Directory preparation tasks separately may be more suitable.

You can read more about Active Directory preparation on TechNet here.

The Exchange Server Pro organization has four Active Directory sites, and a single domain in the forest. The FSMO roles have been moved to the domain controller in the DataCenter1 site where the first Exchange 2013 servers are being deployed, so that is where the preparation steps will be performed.

exchange-2010-2013-migration-target-sites

Before we start it is recommended to note the current schema version so that you can compare it later when you are verifying the results of Exchange setup. Use Michael B Smith’s PowerShell script here to perform this task.

PS C:\> "Exchange Schema Version = " + ([ADSI]("LDAP://CN=ms-Exch-Schema-Version-Pt," + ([ADSI]"LDAP://RootDSE").schemaNamingContext)).rangeUpper
Exchange Schema Version = 14734

Prepare the Active Directory Schema

The first step is to apply the Exchange Server 2013 schema update to Active Directory. Extract the Exchange Server 2013 setup files to a folder on the server. In this example I am deploying Exchange Server 2013 with Service Pack 1, which is the latest version available right now.

exchange-2010-2013-migration-ad-prep-02

Next, launch a CMD prompt as administrator.

exchange-2010-2013-migration-ad-prep-01

Run setup /PrepareSchema, including the /IAcceptExchangeServerLicenseTerms switch as well.

C:Adminex2013sp1>setup /prepareschema /iacceptexchangeserverlicenseterms

Welcome to Microsoft Exchange Server 2013 Service Pack 1 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for
installation.

Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                     COMPLETED

Configuring Microsoft Exchange Server

    Extending Active Directory schema                         COMPLETED

The Exchange Server setup operation completed successfully.

Run the schema version script again to compare the results.

PS C:\> "Exchange Schema Version = " + ([ADSI]("LDAP://CN=ms-Exch-Schema-Version-Pt," + ([ADSI]"LDAP://RootDSE").schemaNamingContext)).rangeUpper
Exchange Schema Version = 15292

Preparing the Forest and Domains

After extending the schema we can proceed with preparing the Active Directory forest and domains.

Again, from an elevated CMD prompt run setup /PrepareAD and use the /IAcceptExchangeServerLicenseTerms switch as well. Because we are installing into an existing organization there is no need to use the /OrganizationName switch.

C:Adminex2013sp1>setup /preparead /iacceptexchangeserverlicenseterms

Welcome to Microsoft Exchange Server 2013 Service Pack 1 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for
installation.

Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                     COMPLETED
 Setup will prepare the organization for Exchange 2013 by using 'Setup /PrepareA
D'. No Exchange 2007 server roles have been detected in this topology. After thi
s operation, you will not be able to install any Exchange 2007 servers.
 For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms
.exch.setupreadiness.NoE12ServerWarning.aspx

Configuring Microsoft Exchange Server

    Organization Preparation                                  COMPLETED

The Exchange Server setup operation completed successfully.

With only one domain in the forest there are no additional steps to perform here. If you have multiple domains you should refer to the TechNet instructions here.

In the next article in this series we’ll look at installation of the first Exchange 2013 server.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Roger

    Hi Paul. Does your 2010 to 2013 migration guide book include information on cross-forest migration? I have 2010 as a source and 2013 as a target in a brand new forest/domain. I need to migrate about 1600 user accounts/mailboxes to the new domain. Hoping to get some good guidance on the process. Thank you.

  2. Welani Msosa

    When trying to run these on a DC running Windows 2003 SP2, it says I need to have .Net 4.5 or higher. I have an expired Exchange 2010 and just acquired a licensed Exchange 2013 and I need to install on Windows 2012 Server. There is only one DC running Windows 2003 SP2 in the forest.

    1. Avatar photo
  3. derrick

    I have a question regarding preparing the schema and ad. Do I need to run these commands on all my domain conrollers? Or just one?

  4. James

    Just for anyone who does get the same problem as we did.

    When running the Schema update we had complaints around the Edge Transport servers being Exchange 2010 SP1 even though they were SP3. This is because the Edge Subscription needed to be re-created.

    Paul’s guide explains how to create the Edge Subscription. Just remember to remove the existing Subscriptions.

    https://www.practical365.com/exchange-2010-edge-transport-server-configuring-edgesync/

Leave a Reply