If you prefer to run Exchange Server setup for new installations or cumulative updates using the GUI rather than the command line, then you aren’t alone, and if you are finally getting round to removing an Exchange Server 2010 or 2013 Hybrid and replacing it with Exchange Server 2016, then it’s better late than never.
In larger environments, where the Active Directory is ran by a separate identity team it would be common practice for the Schema updates and AD preparation to be ran by this team, from the command line.
In theory, you should also be able to simply run the Exchange Server 2016 setup via the GUI and allow it to both prepare Active Directory and also install Exchange. Unfortunately, you might receive the following failure message:
Hybrid Deployment Check – Deserialization fails due to one SerializationException
If you don’t even get this far then it could be for several other reasons; firstly – you should have disabled Legacy Authentication to your tenant and use Multi-Factor-Authentication for your administrative accounts; and the password field on the Office 365 credentials page of the Exchange Server 2016 setup wizard doesn’t support pasting in the password. Nonetheless, this isn’t the way to solve the issue.
To solve the issue, you will need to drop to the command line (or a PowerShell prompt) and prepare Active Directory before you run the GUI setup.
You’ll first need to use the Exchange Online PowerShell module to run the following cmdlets to extract the organization config from your Microsoft 365 tenant into an XML file.
Get-OrganizationConfig | Export-CliXML .\MyTenantOrganizationConfig.xml
Copy the resulting XML file to a location that the Exchange Server 2016 Setup.exe can access it. Then, run Setup.exe with the following parameters:
Setup.exe /PrepareAD /TenantOrganizationConfig MyTenantOrganizationConfig.xml /IAcceptExchangeServerLicenseTerms
Once complete, continue your installation of the first Exchange Server 2016 via the GUI if you prefer (or of course the command line)
The above method will be familiar to you if you’ve installed via the command line before – but as the error message you’ll see is a little unhelpful, it won’t lead you to the Microsoft documentation describing the above procedure.