One of my recent projects was to implement a new Highly Available Exchange 2016 environment for a customer who was upgrading from Exchange 2010. When Exchange 2016 was in place, we then had to create hybrid to Office 365. Below are some really useful PowerShell Commands I used during the implementation.
Installing Exchange 2016 Pre Requisites
Install-WindowsFeature AS-HTTP-Activation, Server-Media-Foundation, 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, RSAT-ADDS
Collecting Virtual Directory Details
Outlook Anywhere
Get-OutlookAnywhere -AdPropertiesonly | Select server,Internalhostname, Externalhostname
Outlook Web Access
Get-OWAVirtualDirectory -AdPropertiesOnly | Select Server,InternalURL, ExternalURL
Exchange Control Panel
Get-ECPVirtualDirectory -AdPropertiesOnly | Select Server,InternalURL, ExternalURL
Outlook Address Book
Get-OABVirtualDirectory -AdPropertiesOnly | Select Server,InternalURL, ExternalURL
Web Services
Get-WebServicesVirtualDirectory -AdPropertiesOnly | Select Server, InternalURL,ExternalURL
MAPI
Get-MAPIVirtualDirectory -AdPropertiesOnly | Select Server,InternalURL, ExternalURL
Active Sync
Get-ActiveSyncVirtualDirectory -AdPropertiesOnly | Select Server, InternalURL,ExternalURL
AutoDiscover
Collecting the AutoDiscover URI for Exchange 2010 Servers in the environment
Get-ClientAccessServer -identity SERVERNAME|select Name, AutodiscoverServiceInternalURI |FL
Setting the AutoDiscover URI on the newly installed Exchange 2016 Server
Set-ClientAccessService -identity SERVERNAME -AutodiscoverServiceInternalURI https://mail.domainname.com/autodiscover/autodiscover.xml
Exchange 2016 CU7 Hybrid Gotcha!!!
So after a successful deployment of Exchange 2016 the next step was to create a hybrid to Office 365 Exchange Online, Simple as Exchange 2016 was “Born in the cloud” according to Microsoft. NOT SO!!! – I downloaded the latest version of Exchange 2016 which at the time was CU7, but when configuring the hybrid it would just sit at adding Federated Domain.
A bug slipped into Exchange 2016 CU7 which prevents the HCW from completing. The HCW fails to get past the domain ownership validation:
No matter how hard you try, you can’t get past this screen.
Fortunately CU8 was release 19th December 2017 – So I spent the next day patching my newly installed Exchange environment. – then completing the Hybrid configuration.