# Aaron PESCASIO

Synchronisation des utilisateurs Office 365 avec l'AD on-premise:

Azure AD Connect joue le rôle de passerelle entre votre Active Directory et votre locataire Office 365 #EntraID. Si vous n'avez pas encore d'utilisateurs sur Office 365, la configuration prendra seulement 5 minutes maximum.

Cependant, un problème survient si vous avez déjà créé vos utilisateurs sur Office 365 et que vous souhaitez les synchroniser avec l'AD. C'est à ce moment qu'il faut trouver une solution.

La solution consiste tout d'abord à supprimer les doublons d'utilisateurs et à conserver les originaux. Dans ce cas, l'utilisateur original est "apes", donc l'autre doit être supprimé.

Enfin, exécutez le script "FixADConnect.ps1". Dans la première fenêtre, sélectionnez l'utilisateur de l'AD local "apes".

Puis dans la deuxième fenêtre, choisissez l'utilisateur de l'Azure AD avec lequel vous souhaitez le synchroniser.

Après la synchronisation, le script vous demandera si vous souhaitez continuer à synchroniser d'autres utilisateurs ou non.

Si vous entrez "N", une fenêtre affichera simplement les utilisateurs avec leurs "ImmutableId".

Comme vous pouvez le constater dans l'Azure AD, l'utilisateur "apes" est maintenant synchronisé. "Yes" !

FixAdConnect.ps1:

            # Script pour synchroniser les utilisateurs Office 365 déjà existants 
            # sur l'Azure AD avec l'AD on-premise (local)

            $credential = Get-Credential
Import-Module MsOnline
Connect-MsolService -Credential $credential
Set-MsolDirSyncEnabled -EnableDirSync $false
$IsDirSyncEnabled = (Get-MsolCompanyInformation).DirectorySynchronizationEnabled
If($IsDirSyncEnabled -eq $false) {Write-Host Office 365 Active Directory Sync Disabled - Good to go!}
else {Write-Host Please disable Active Directory Sync and Wait Exit}
Start-Sleep -Seconds 5
do{
$ADGuidUser = Get-ADUser -Filter * | Select Name,ObjectGUID | Sort-Object Name | Out-GridView -Title "Select Local AD User To Get Immutable ID for" -PassThru
$UserimmutableID = [System.Convert]::ToBase64String($ADGuidUser.ObjectGUID.tobytearray())
$OnlineUser = Get-MsolUser | Select UserPrincipalName,DisplayName,ProxyAddresses,ImmutableID | Sort-Object DisplayName | Out-GridView -Title "Select The Office 365 Online User To HardLink The AD User To" -PassThru
Set-MSOLuser -UserPrincipalName $OnlineUser.UserPrincipalName -ImmutableID $UserimmutableID
$Repeat = read-host Do you want to choose another user? Y or N } while ($Repeat -eq "Y")
Get-MsolUser | Select DisplayName,ImmutableID | Sort-Object DisplayName | Out-GridView -Title "Office 365 User List With Immutableid Showing"
Set-MsolDirSyncEnabled -EnableDirSync $true
Start-ADSyncSyncCycle -PolicyType Delta
Start-Sleep -Seconds 5
Get-PSSession | Remove-PSSession

# Si jamais vous recevez un mail concernant l'Azure AD "Password Hash Synchronization heartbeat was skipped in last 120 minutes.", veuillez lancer cette commande :
# Restart-Service -Name "ADSync" 3> $null 
# Sinon, vous pouvez aussi redémarrer le service "Microsoft Azure AD Sync" en passant par la fenêtre "services.msc".