Exchange 2019 Setup Screenshots – Commandline Install

This is a reference post for Exchange 2019 screenshots of the command line installation process.  You will note similarities to the Exchange 2016 installation.

Update 30-9-2021 Newer versions of Exchange 2019 have slightly modified the prerequisites and also the original command line options that are shown below.  Please see the Exchange 2019 CU11 setup changes post for details.

Planning And Preparation

As with every project proper, planning and preparation is required.  Deploying Exchange is no different.  Microsoft Docs has an overview of the steps that are required:

Lab Configuration

Test lab was a single domain environment with all domain controllers running Windows Server 2012 R2.  Exchange 2019 was installed onto Windows Server 2019.  All pending updates were installed prior to installing Exchange.  No prior version of Exchange was installed, which is why the Exchange organisation name was specified in the /PrepareAD section.

The Exchange organisation name will be "WingtipToys".

Preparing Active Directory

As with many customer environments, the Exchange team will not be the ones who will update the AD schema and prepare AD for the installation of Exchange.  To that end the AD preparation steps will be performed directly on the schema master, not an Exchange server.

To prep AD for Exchange 2019, .NET framework 4.8 must be installed onto the machine that will be used to prepare AD.   Follow these steps to verify the installed version of the .NET Framework.  If required, install .NET 4.8 and restart the machine.  Ensure all updates are installed afterwards.  Restart the machine as necessary.

Since we are using the schema master, the AD DS RSAT tools are already installed.  If the AD DS RSAT tools are not installed, install then using Server Manager or via Windows PowerShell using Install-WindowsFeature RSAT-ADDS

As with prior releases, we need to first extend the AD DS Schema, PrepareAD and finally PrepareDomains.

  1. Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
  2. Setup.exe /PrepareAD /OrganizationName:"<organization name>" /IAcceptExchangeServerLicenseTerms
  3. Setup.exe /PrepareDomain:<FQDN of the domain you want to prepare> /IAcceptExchangeServerLicenseTerms

Note that the setup file is setup.exe for both wizard and command line tasks. You may remember setup.com which was last used with Exchange 2010 unattended setup.  It is also noteworthy that the full syntax has been specified, note that the shortcut syntax such as setup.exe /PS is not used.  This was covered in the 6 Mistakes To Avoid With Exchange 2013 CU Command Line Installations.  There are now 7 mistakes listed in the article, but if the title was changed links would break.

First up, let’s prepare the AD schema:


The command below will extended the AD DS schema for Exchange 2019.

Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema

Prepared AD DS Schema For Exchange 2019

Note that the machine must have a supported version of .NET installed. If not, then the setup pre-flight checks will fail and you will be rewarded with the below.

Prepared AD DS Schema For Exchange 2019 - Missing Supported .NET Framework

If you need to install .NET 4.8 then it will need a reboot and time afterwards to complete compilation.  If you want to accelerate the post-restart work items, review this post.  As noted earlier, ensure any security updates are installed.


Wait for AD to replicate.  Once replication has completed we can then move onto the next stage.

Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:Wingtiptoys


Note the warning above about the point of no return for installing Exchange 2016 since we are preparing AD for Exchange 2019 and there is no existing Exchange 2016 mailbox server.  For more details see this post on the point of no return.

PrepareDomain / PrepareAllDomains

If you have a single domain then running /PrepareDomain in that domain will suffice.  If you have multiple domains and the required permissions then your could run /PrepareAllDomains.

Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareDomain


If you have multiple domains then this may be applicable:

Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains

Install Mailbox Role

Now that AD has been sucessfully prepared, we can move onto installing the first Exchange 2019 server.

Ensure that you install the Exhange 2019 mailbox server prerequisites.  They are summarised below.

.NET Framework 4.8

Visual C++ Redistributable Package for Visual Studio 2012

Visual C++ Redistributable Package for Visual Studio 2013

Update 30-9-2021 Note that IIS URL Rewrite is now required. Please see the Exchange 2019 CU11 setup changes post for details.  This is related to the emergency mitigation service which was released post Hafnium.

IIS URL Rewrite Module

Install-WindowsFeature Server-Media-Foundation

Unified Communications Managed API 4.0

Once the prerequisites have been installed, ensure all security updates are installed.  Typically I restart the server a final time to clear out any pending reboot tasks that would otherwise block the installation.  Quicker to just to a proactive restart rather than discovering an issue half way through Exchange setup.

Setup.exe /IAcceptExchangeServerLicenseTerms /Mode:Install /Roles:Mailbox

Note that you need to make sure all the pre-reqs are installed, else you will get a lovely error like the below.

Exchange 2019 Setup - Missing Prerequisites

This also include the UC API.  The link is included above for reference.    If you do not install the UC API, then the below error will result:

This computer requires the Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit. Please install the software from http://go.microsoft.com/fwlink/?LinkId=260990.
For more information, visit:


Assuming that all of the prerequisites have been installed, then things should go as planned.

As always, note that the installation was done from an elevated cmd prompt.

Exchange 2019 Setup Completed

Rhoderick Milne [MSFT]

Leave a Reply

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