Se estiver a configuração do Directory Synchronization for feita do zero (ainda não há utilizadores no O365), o Azure AD Connect será bastante direto: os objetos locais (e senhas, se tiver escolhido esta opção) serão sincronizados, onde posteriormente pode atribuir serviços às contas de utilizador.
O problema surge quando já existem utilizadores no O365 e que também existam no Active Directory, não tendo havido qualquer tipo de sincronismo entre os dois.
Nestes casos, é necessário criar um mecanismo de correspondência entre contas locais e as contas no O365. Existem dois tipos para criar esta correspondência:
- Soft match (conhecimento também como SMTP matching)
- Hard match (by immutableID).
A solução que nós utilizamos no nosso ambiente foi o 2. Hard match, e este é o script utilizado.
$credential = Get-Credential
Connect-MsolService -Credential $credential
$ADUser = "username"
$365User = "username@emaildomainname.com"
$guid =(Get-ADUser $ADUser).Objectguid
$immutableID=[system.convert]::ToBase64String($guid.tobytearray())
Set-MsolUser -UserPrincipalName "$365User" -ImmutableId $immutableID
E após a execução e tendo o sincronismo executado novamente, os erros deixaram de aparecer.