When Modern Authentication is enabled in the Active Roles Synchronization Service and the Exchange Online PowerShell v2 module is installed, attempting to synchronize or map Contacts in the auto-configured Microsoft Office 365 Connector fails with the following error message:
The term ‘Get-MailContact’ is not recognized as the name of a cmdlet, function, script file or operable program
Attempting to synchronize or add any other object class to the existing connector or a new connector of the same type fails with a similar error.
Basic Authentication is blocked on the Azure Tenant and also on the Active Roles Synchronization Service host.
The Active Roles Synchronization Service connector needs to modify objects in Microsoft Exchange Online, and therefore needs the Set- cmdlets which are only available when Basic Auth is enabled on the Active Roles Synchronization Service host.
When using Modern Auth, Basic Auth can be disabled for the Active Roles Synchronization Service service account in the Azure Tenant, but Basic Auth must be enabled to allow the use of Set- cmdlets.
This functionality cannot be changed in Active Roles until Microsoft releases Set-EXO cmdlets which can modify objects in Office 365 without requiring Basic Auth to be enabled on the client.