Introduction
Integrating Windows Server 2016 with Azure Active Directory (Azure AD) enables hybrid identity, allowing on-premises users to access Microsoft 365, Azure, and SaaS applications using the same credentials. Azure AD Connect is the synchronisation engine that bridges your on-premises AD with Azure AD, handling user, group, and password synchronisation.
Prerequisites
Before installing Azure AD Connect, verify your environment meets the requirements:
# Check .NET Framework version (4.5.1+ required)
(Get-ItemProperty 'HKLM:SOFTWAREMicrosoftNET Framework SetupNDPv4Full').Release
# Verify forest functional level
(Get-ADForest).ForestMode
# Check PowerShell version
$PSVersionTable.PSVersion
Installing Azure AD Connect
Download and install Azure AD Connect on a dedicated domain-joined server:
Invoke-WebRequest -Uri 'https://download.microsoft.com/download/AzureADConnect.msi' -OutFile C:AzureADConnect.msi
msiexec /i C:AzureADConnect.msi /qn /l*v C:LogsAzureADConnect.log
# Launch configuration wizard
& 'C:Program FilesMicrosoft Azure Active Directory ConnectAzureADConnect.exe'
Verifying Synchronisation
Confirm that synchronisation is running and healthy:
Import-Module ADSync
Get-ADSyncScheduler
Start-ADSyncSyncCycle -PolicyType Delta
Get-ADSyncConnectorRunStatus
Enabling Seamless Single Sign-On
Configure Seamless SSO so intranet users authenticate automatically without seeing a login prompt:
Import-Module 'C:Program FilesMicrosoft Azure Active Directory ConnectAzureADSSO.psd1'
$cloudCred = Get-Credential # Azure AD Global Admin credentials
New-AzureADSSOAuthenticationContext -CloudCredentials $cloudCred
Enable-AzureADSSO -Enable $true -Domains @('contoso.com') `
-CloudCredentials $cloudCred `
-DomainCredential (Get-Credential 'contosoAdministrator')
Password Hash Synchronisation
Verify password hash sync is configured and working correctly:
Get-ADSyncAADPasswordSyncConfiguration -SourceConnector 'contoso.com'
# Trigger immediate sync
Invoke-ADSyncRunProfile -ConnectorName 'contoso.com' -RunProfileName 'Delta Synchronization'
# Check for sync errors
Get-ADSyncCSObject -ConnectorName 'contoso.com' | Where-Object {$_.HasSyncError -eq $true}
Monitoring Sync Health
Use event logs and the ADSync module to monitor synchronisation health over time:
Get-ADSyncScheduler | Select-Object NextSyncCyclePolicyType,SyncCycleEnabled,NextSyncCycleStartTimeInUTC
Get-EventLog -LogName Application -Source 'Directory Synchronization' -Newest 20 | `
Select-Object TimeGenerated,EntryType,Message | Format-List
Summary
Azure AD Connect makes integrating Windows Server 2016 with Azure AD straightforward and reliable. By synchronising user identities, enabling Seamless SSO, and monitoring sync health, you establish a robust hybrid identity foundation that provides users seamless access to both on-premises and cloud resources with a single set of credentials.