Exchange

How to Install Exchange Server 2013

After the release of Exchange server 2013 many of the IT professionals have started testing the Exchange 2013 in their labs and thinking about the upgrade. I would recommend installing the exchange 2013 server in lab first and before you start installing Exchange server 2013 please read about Exchange Server 2013 Prerequisites. The Exchange Server 2013 setup is very simple and Microsoft has released Deployment Assistant for Exchange Server 2013 which is a web-based tool that asks you a few questions about your current environment and then generates a custom step-by-step checklist that will help you deploy Exchange. In this post we will see how to install Exchange server 2013.

The lab setup is simple and the machine info is listed below in the table.

Virtual Machine Computer Name IP Address Operating System
Active Directory AD.PRAJWAL.LOCAL 192.168.100.1/24 Windows Server 2008 R2 SP1 x64
Exchange Server EXC.PRAJWAL.LOCAL 192.168.100.2/24 Windows Server 2008 R2 SP1 x64
Client CLIENT.PRAJWAL.LOCAL 192.168.100.3/24 Windows 7 Professional SP1 x64

If you are installing the Exchange server 2013 for the first time then the Active Directory needs to be prepared. There are few things that you need to consider before you install Exchange Server 2013.

  • The Schema master is running Windows Server 2003 with SP2, or a later version of Windows Server.
  • At least one Global catalog server per site that Exchange will be installed in that is running Windows Server 2003 SP2 or later.
  • At least one Domain controller per site that Exchange will be installed in that is running Windows Server 2008 or later.
  • The forest functional level of your forest is at least Windows Server 2003 or higher.
  • An account with Schema Admins, Domain Admins, and Enterprise Admins permissions to run Exchange setup.

The Active Directory preparation can be done before you start installing Exchange Server or it can be done during first Exchange Server 2013 setup. We will be doing the Active Directory preparation during the setup. In case you plan to prepare the active directory before the installation of exchange server 2013 then follow the steps listed below.

1)   On the Windows Server 2008 R2 Sp1, launch the powershell.

Import the server manager module by executing the command Import-Module ServerManager

AD prep requires RSAT tools so to install it execute the command Add-WindowsFeature RSAT-ADDS

How to Install Exchange Server 2013 Snap 2

2) If this is the first time you are installing exchange server 2013 in your forest type the command

setup /PrepareAD /OrganizationName: “organization name” /IAcceptExchangeServerLicenseTerms

How to Install Exchange Server 2013 Snap 3

Prerequisites for installing Exchange Server 2013

The prerequisites that are needed to install Exchange 2013 on a Windows Server 2008 R2 SP1 computer depends on which Exchange roles you want to install. In this lab we will be installing Exchange Server 2013 on windows server 2008 R2 Sp1 64 bit Enterprise Edition.we will install both the Mailbox and Client Access server roles on the same computer. Make sure that the functional level of your forest is at least Windows Server 2003, and that the schema master is running Windows Server 2003 with Service Pack 2 or later.Read more about Exchange 2013 prerequisites here.

1) Open Windows PowerShell.

2) Run the command Import-Module ServerManager to import server manager module.

3) Run the below command to install windows components.

Add-WindowsFeature Desktop-Experience, NET-Framework, NET-HTTP-Activation, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Web-Server, WAS-Process-Model, Web-Asp-Net, 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-Ext, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI

How to Install Exchange Server 2013 Snap 4

Now once you have completed the above steps install the following softwares.

4) Download and Install Microsoft .Net Framework 4.5.

5) Download and Install Windows Management Framework 3.0 (Computer must be restarted after installing this update)

6) Download and Install Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

7) Download and Install Microsoft Office 2010 Filter Pack 64 bit

8) Download and Install Microsoft Office 2010 Filter Pack SP1 64 bit

9) Download and Install Windows Identity Foundation

10) Download and Install KB2619234(Computer must be restarted after installing this update)

11) Download and Install KB2533623(Computer must be restarted after installing this update)

Note:- The hotfix may already be installed if you’ve configured Windows Update to install security updates on your computer.

Once the prerequisites are installed, we will now start the Exchange Server 2013 setup. The Exchange Server 2013 can be downloaded from Microsoft site. Run the setup.

The first screen asks for checking the latest updates from Microsoft. Click on Don’t check the updates right now and click Next.

How to Install Exchange Server 2013 Snap 5

On the Intro page click on next.

How to Install Exchange Server 2013 Snap 6

Click on I accept the terms in the license agreement. Click next.

How to Install Exchange Server 2013 Snap 7

Click on Use recommended settings. Click next.

How to Install Exchange Server 2013 Snap 8

On the server role selection page check the roles that you want to install. We will install Mailbox role and Client access role on the same server. Click next.

How to Install Exchange Server 2013 Snap 9

Choose the location on drive where exchange installation files must be stored. Click next.

How to Install Exchange Server 2013 Snap 10

Specify the name of exchange organization and click next.

How to Install Exchange Server 2013 Snap 11

Malware scanning is enabled by default. You can set Diasble malware scanning to Yes if you do not require malware scanning. Click next.

How to Install Exchange Server 2013 Snap 12

As said earlier in the post the AD prep can be done before exchange setup or as a part of installation. This step will prepare the Active directory for Exchange Server 2013. Click Install.

How to Install Exchange Server 2013 Snap 13

The Exchange Server 2013 setup is completed. Check the box Launch Exchange Administration Center after finishing Exchange setup. Click Finish.

How to Install Exchange Server 2013 Snap 14

Login to Exchange Admin Center.

How to Install Exchange Server 2013 Snap 15

Prajwal Desai

Hi, I am Prajwal Desai. For last few years I have been working on multiple technologies such as SCCM / Configuration Manager, Intune, Azure, Security etc. I created this site so that I can share valuable information with everyone.

Related Articles

13 Comments

  1. Hello,
    when installing exchange 2013 CU22 on a windows server 2012 R2 machine after all the requirements we proceed to the install. We get all the way to step 10 of 14 and then presented with this error:

    Error:
    The following error was generated when “$error.Clear();
    if (!$RoleIsDatacenter -and !$RoleIsDatacenterDedicated)
    {
    $createNewOab = $false;
    $oabName = $null;
    $oabAddressList = $null;
    $oabVdirs = $null;
    $oabGlobalWebDistribution = $false;
    $oabConfiguredAttributes = $null;

    Write-ExchangeSetupLog -Info (“Looking for an existing default OAB”);
    $defaultOab = Get-OfflineAddressBook -DomainController:$RoleDomainController | where {$_.IsDefault};
    if ($defaultOab -ne $null)
    {
    Write-ExchangeSetupLog -Info (“Found a default OAB: ” + $defaultOab.Name + “; checking its version”);
    if ($defaultOab.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -lt 0)
    {
    $e15Oab = Get-OfflineAddressBook -DomainController:$RoleDomainController | where {$_.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -eq 0};
    if ($e15Oab -eq $null)
    {
    Write-ExchangeSetupLog -Info (“Existing OAB is Exchange 2010 or older; will create a new OAB”);
    $createNewOab = $true;
    $oabName = $defaultOab.Name + ” (Ex2013)”;
    $oabAddressList = $defaultOab.AddressLists;
    $oabGlobalWebDistribution = $defaultOab.GlobalWebDistributionEnabled;
    $oabConfiguredAttributes = $defaultOab.ConfiguredAttributes;
    }
    else
    {
    Write-ExchangeSetupLog -Info (“Already has an existing Exchange 2013 OAB:” + $e15Oab.Name + “; will not create a new OAB”);
    }
    }
    else
    {
    Write-ExchangeSetupLog -Info (“Existing OAB is Exchange 2013 or newer; will not create a new OAB”);
    }
    }
    else
    {
    Write-ExchangeSetupLog -Info (“Did not find a default OAB; will create one”);
    $createNewOab = $true;

    $oabName = [Microsoft.Exchange.Data.Directory.SystemConfiguration.OfflineAddressBook]::DefaultName;
    $nonDefaultOabWithDefaultName = Get-OfflineAddressBook $oabName -DomainController:$RoleDomainController -ErrorAction SilentlyContinue | where {$_.IsDefault -eq $false};
    if ($nonDefaultOabWithDefaultName -ne $null)
    {
    $createNewOab = $false;
    Write-ExchangeSetupLog -Warning ("Offline address book " +
    $nonDefaultOabWithDefaultName.Name + " already exists: " +
    $nonDefaultOabWithDefaultName.DistinguishedName + ". Use administrative tools to change it to default OAB.");
    }

    $allGals = @(Get-GlobalAddressList -DomainController:$RoleDomainController | where {$_.IsDefaultGlobalAddressList});
    if ($allGals -eq $null -or $allGals.Count -eq 0)
    {
    $createNewOab = $false;
    Write-ExchangeSetupLog -Warning

    (“Couldn’t find the default global address list. The default offline address book can’t be created.”);
    }
    elseif ($allGals.Count -gt 1)
    {
    $createNewOab = $false;
    Write-ExchangeSetupLog -Warning ("Found " + $allGals.Count + " default global address lists. You can have only one default global address list in your organization. The default offline address book will not be created.");
    }
    else
    {
    $oabAddressList = $allGals[0];
    Write-ExchangeSetupLog -Info ("OAB will be based on default GAL: " + $oabAddressList.Name);
    }
    }

    if ($createNewOab)
    {
    if ($oabGlobalWebDistribution -eq $false)
    {
    $currentAdSiteDn = (Get-ExchangeServer $RoleFqdnOrName -DomainController:$RoleDomainController).Site.DistinguishedName;
    $allOabVdirs = @(Get-OabVirtualDirectory -ADPropertiesOnly -DomainController:$RoleDomainController);
    $e15MinimumServerVersion = New-Object Microsoft.Exchange.Data.ServerVersion([Microsoft.Exchange.Data.Directory.SystemConfiguration.Server]::E15MinVersion);
    if ($allOabVdirs -ne $null -and $allOabVdirs.Count -gt 0)
    {
    foreach ($oabVdir in $allOabVdirs)
    {
    if ([Microsoft.Exchange.Data.ServerVersion]::Compare($oabVdir.AdminDisplayVersion, $e15MinimumServerVersion) -gt 0)
    {
    $oabVdirSiteDn = (Get-ExchangeServer $oabVdir.Server -DomainController:$RoleDomainController).Site.DistinguishedName;
    if ($oabVdirSiteDn -eq $currentAdSiteDn)
    {
    $oabVdirs = $oabVdir;
    break;
    }
    elseif ($oabVdirs -eq $null)
    {
    $oabVdirs = $oabVdir;
    }
    }
    }
    }

    if ($oabVdirs -ne $null)
    {
    Write-ExchangeSetupLog -Info ("OAB will be distributed to OAB virtual directory " + $oabVdirs.Name);
    }
    else
    {
    Write-ExchangeSetupLog -Info ("Could not find any OAB virtual directories; OAB will be configured without distribution.");
    }
    }

    try
    {
    Write-ExchangeSetupLog -Info ("Creating new default OAB.");
    $newOab = New-OfflineAddressBook

    -Name $oabName -AddressLists $oabAddressList
    -VirtualDirectories $oabVdirs -GlobalWebDistributionEnabled $oabGlobalWebDistribution
    -IsDefault $true -DomainController:$RoleDomainController;
    }
    catch [Microsoft.Exchange.Data.Directory.ADObjectAlreadyExistsException]
    {
    Write-ExchangeSetupLog -Warning ("Tried to create new default OAB but the object already exists; it may have been created by another instance of setup.");
    }

    if ($oabConfiguredAttributes -ne $null)
    {
    Write-ExchangeSetupLog -Info ("Setting OAB ConfiguredAttributes to: " + $oabConfiguredAttributes);
    Set-OfflineAddressBook $newOab -ConfiguredAttributes $oabConfiguredAttributes -DomainController:$RoleDomainController;
    }
    }
    }
    " was run: "Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
    at Microsoft.Exchange.Data.Directory.ADDataSession.ObjectsFromEntries[TResult](SearchResultEntryCollection entries, String originatingServerName, IEnumerable
    1 properties, ADRawEntry dummyInstance)
    at Microsoft.Exchange.Data.Directory.ADGenericPagedReader1.GetNextPage()
    at Microsoft.Exchange.Data.Directory.ADGenericPagedReader
    1.d__0.MoveNext()
    at Microsoft.Exchange.Data.Storage.OrganizationMailbox.InternalGetOrganizationMailboxesByCapability(IRecipientSession session, OrganizationCapability capability, QueryFilter optionalFilter)
    at Microsoft.Exchange.ProvisioningAgent.NewOfflineAddressbookProvisioningHandler.FindGeneratingMailbox(String domainController, OrganizationId orgId)
    at Microsoft.Exchange.ProvisioningAgent.NewOfflineAddressbookProvisioningHandler.ProvisionDefaultProperties(IConfigurable readOnlyIConfigurable)
    at Microsoft.Exchange.Provisioning.ProvisioningLayer.ProvisionDefaultPropertiesImpl(Task task, IConfigurable temporaryObject, IConfigurable dataObject, Boolean checkProvisioningLayerAvailability)
    at Microsoft.Exchange.Provisioning.ProvisioningLayer.ProvisionDefaultProperties(Task task, IConfigurable temporaryObject, IConfigurable dataObject, Boolean checkProvisioningLayerAvailability)
    at Microsoft.Exchange.Configuration.Tasks.NewTaskBase`1.InternalStateReset()
    at Microsoft.Exchange.Configuration.Tasks.Task.b__b()
    at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

    Please can you help me find a solution to this?

    1. this happens only whn u repeating the previous incomplete installation on the server. Arbitration and federation (which are default mailboxes in Exchge server) gets corrupted. dont beat around the bush rather go for fresh installation from scratch on a new server and this time avoid doing any Schema extension since it is already done whn u initiated the Exchnge installation for the first time.

  2. Hi Prajwal, Need your Help… i am little confused.. u have not mentioned clearly on which server, which things you are installing as above? like earlier in your pages, it was so clear steps… it was like

    1)Process to create a AD DC server, then its roles. after that next

    2)Steps to go to Exchange server then its steps to follow to install exchange server 2013….

    And also please can you help me out how to find out exchange server 2013 / 2013 sp1 setup differences..

    i am following your blogs to practice corporate environment in Vmware workstation…
    please help me……. awaiting for your help…

  3. Hello Prajwal Desai,
    Do you know if it is now supported to install Exchange 2013 in Windows Server 2012R2?

  4. Hello Sir,
    Please help me to configure exchange 2013 mail account in outlook , its cannot connect exchange server 2013

  5. Hello Sir,

    Thanks verry much , but there is a problem that mails can be send received from owa, but when configuring outlook , showing outlook cannot connect to exchange server (outlook2013). Please help me to solv this.

Leave a Reply

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

Back to top button