HardMatch de Ms-Ds-ConsistencyGuid e ImmutableId

Em nossa ultima postagem falamos sobre o ObjectGRUID, hoje falaremos um pouco sobre o seu sucessor, o ConsistencyGUID

O Atributo de âncora foi alterado pelo time do Azure AD Connect para o  mS-DS-ConsistencyGuid, o objectGUID cumpriu o seu papel, mas, ficou ultrapassado.

Quando você usa o Azure AD Connect para sincronizar objetos entre os ambientes locais dos Serviços de Domínio Active Directory (AD DS) e o Azure Active Directory e atualiza para esta versão ou qualquer versão além de uma versão anterior, você será notificado dessa alteração com um aviso na tela Configuração completa :

Atualização do Azure AD Connect - Configuração concluída - o Active Directory do Azure está configurado para usar o atributo objectGUID do AD como o atributo de âncora de origem.  (clique para a captura de tela original)
O Azure Active Directory está configurado para usar o atributo AD 
objectGUID como o atributo de âncora de origem. 
É altamente recomendável que você permita que o Azure gerencie a âncora de origem para você. 
Por favor, execute o assistente novamente e selecione Configure Source Anchor. 
 Saber mais

ObjectGUID  X ConsistencyGuid

Mais cedo ou mais tarde você vai ter que mudar para as cofigurações do ConsistencyGuid, então faça com propriedade e entenda o que mudou.

 Há alguns anos, foi lançada a versão anterior do que todos conhecem como conexão do Azure AD

O Azure AdConnect utilizava o ObjectID, para quem não lembra o ObjectID foi algo muito bom, sempre como valor unico, exclusivo, a unica desvantagem dele e que ele não pode ser alterado. 

Por si só o ObjectID limitava o uso do O365, imagina a situação de um usuário quando a organização usa  um  inquilino do Azure AD para  várias  florestas (sem uma relação de confiança do AD). 

Portanto, o que diferencia o atributo ConsistencyGuid do ObjectGUID é o fato do primeiro poder ser alterado, e o segundo não.

Cenário

No ultimo post (AQUI) mostrei como podemos realizar o HardMacht do ObjectGUID e agora vamos tratar do HardMacht utilizando o ConsistencyGuid.

Em uma implantação de AADConnect, me deparei com um tenant do Office 365 que possuía usuários de produção criados na nuvem

Ao sincronizar uma OU de teste as contas sincronizadas foram recriadas, ou seja, o AADConnect não conseguia realizar o SoftMatch.

Verifiquei o o AADConnect estava na versão 1.5.18.0 e que o SourceAnchor escolhido na instalação foi o campo mS-Ds-ConsistencyGuid.

Neste cenario temos quer realizar o HardMatch do mS-Ds-ConsistencyGuid.

Realizando o HardMatch

Ao analisar o AADC o Source Anchor é o mS -Ds – ConsistencyGuid, conforme imagem abaixo:

verifiquei que os usuários no M365 não possuem o ImmutableID, o que é normal devido esses usuários terem sido criados diretamente na nuvem.

Verifiquei também, no Active Directory (AD) local, que as contas que eu queria fazer o HardMatch possuiam o campo Ms-Ds-ConsistencyGuid com valores. Veja abaixo:

Estrategia adotada

  1. Obter a relação de UserPrincipalName e ms-ds-consistencyguid do AD Local.
  2. Traduzir o valor obtido no passo anterior para base64 usando Translate_ImmutableID.ps1 (existem outras fontes, eu escolhi essa)
  3. Usar comando Set-Msoluser -userprincipalname XXX -ImmutableId YYYY
  4. No AADConnect, colocar o usuário em uma OU marcada para ser sincronizada pelo AADCnnect e então fazer o delta sync.

Passo 1.

Obter a relação de UserPrincipalName e ms-ds-consistencyguid do AD Local.

No controlador de dominio executar o seguinte comando:

Get-ADUser -Filter “UserPrincipalName -eq ‘chesley.rocha@chesley.local'” -Properties Ms-Ds-ConsistencyGuid |select userprincipalname,@{name=’ms-ds-consistencyguid’;expression={[guid]$_.’ms-ds-consistencyguid’}}

Agora temos os valores que precisamos, conforme imagem acima

Passo 2

Traduzir o valor do campo ms-ds-consistencyguid.

Obtive este script do site https://blog.jumlin.com/2018/09/powershell-script-convert-immutableid/ (existem outras fontes, mas, usei esse script por achar ele mais completo)

Passo 3

Usar comando Set-Msoluser -userprincipalname chesley.rocha@chesley.com.br -ImmutableId YYYY

Agora que já temos o valor do ImmutableID correspondente ao valor do campo ms-ds-consistencyguid do AD local, vamos inseri-lo à conta do Office 365.

Set-MsolUser -UserPrincipalName chesley.rocha@chesley.com.br -ImmutableId BLUKrJiEhEuamhS2ljxnhQ==
BLUKrJiEhEuamhS2ljxnhQ== valor conseguido no script acima

Agora que o ms-ds-consistencyguid da conta do AD local está de acordo com o ImmutableId da conta do Office 365, basta colocar o usuário do AD local em uma OU que é sincronizada pelo AADConnect e efetuar um delta sync.

Basta acessar o portal do M365 e verificar que a conta foi sincronizada!

HardMacth executado com sucesso!


2 comentários sobre “HardMatch de Ms-Ds-ConsistencyGuid e ImmutableId

  1. Muito bom o artigo, me ajudou em bestante coisa.

    Uma dúvida:
    atualmente utilizo um ambiente sincronizado com a nuvem, mas uso o azure ad sync (q foi descontinuado). No Azure ad Sync eu usava o objectGUID.
    Vou fazer uma nova instalação do ad connect. Posso usar o ms-ds-consistencyguid?

    Curtir

Deixe um comentário