Atributos duplicados ou inválidos impedem a sincronização do diretório no Microsoft 365

Sintomas

No Microsoft 365, um administrador recebe o seguinte aviso de mensagem de email quando a sincronização do diretório termina:

From: [MSOnlineServicesTeam@MicrosoftOnline.com](mailto:msonlineservicesteam@microsoftonline.com)Subject: Directory Synchronization Error Report

O relatório de erro na mensagem de email pode conter uma ou mais das seguintes mensagens de erro:

  • Um objeto sincronizado com o mesmo endereço proxy já existe no diretório dos Serviços Online da Microsoft.
  • Não é possível atualizar esse objeto porque a ID do usuário não foi encontrada.
  • Não é possível atualizar esse objeto no Microsoft Online Services porque os seguintes atributos associados a esse objeto têm valores que podem já estar associados a outro objeto em seu diretório local.
  • Não é possível atualizar esse objeto porque os seguintes atributos associados a esse objeto têm valores que já podem estar associados a outro objeto em seus serviços de diretório local: [UserPrincipalName john@contoso.com;]. Corrija ou remova os valores duplicados em seu diretório local.
  • Não é possível atualizar esse objeto porque os seguintes atributos associados a esse objeto têm valores que já podem estar associados a outro objeto em seus serviços de diretório local: [ProxyAddresses SMTP:john@contoso.com;]. Corrija ou remova os valores duplicados em seu diretório local.

Além disso, se você estiver executando Microsoft Entra ID (Connect) Sync Service, uma instância da ID do evento 6941 que contém uma das seguintes mensagens de erro será registrada no logon do aplicativo Visualizador de Eventos:

Event ID: 6941
Log Name: Application
Source: ADSync
Level: Error
Details:
ECMA2 MA export run caused an error. 

Error Name: AttributeValueMustBeUnique
Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [UserPrincipalName john@contoso.com;]. Correct or remove the duplicate values in your local directory. Please refer to https://support.microsoft.com/kb/2647098 for more information on identifying objects with duplicate attribute values.
Event ID: 6941
Log Name: Application
Source: ADSync
Level: Error
Details:
ECMA2 MA export run caused an error.

Error Name: InvalidSoftMatch
Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [ProxyAddresses SMTP:john@contoso.com;]. Correct or remove the duplicate values in your local directory.

Motivo

Esse problema poderá ocorrer se objetos de usuário no esquema AD DS (Active Directory local Domain Services) tiverem valores de alias duplicados ou inválidos e se esses objetos de usuário não forem sincronizados do esquema do AD DS para o Microsoft 365 corretamente durante a sincronização do diretório.

Todos os valores de alias no Microsoft 365 devem ser exclusivos para uma determinada organização. Mesmo que você tenha vários sufixos exclusivos após o sinal (@) no endereço SMTP (Simple Mail Transfer Protocol), todos os valores de alias devem ser exclusivos.

Em um ambiente local, você pode ter valores de alias iguais, desde que sejam exclusivos com base nos sufixos após o sinal em (@) no endereço SMTP.

Se você criar objetos com valores de alias duplicados na nuvem para o Microsoft 365, para tornar os aliases exclusivos, um alias terá um número exclusivo acrescentado a ele. (Por exemplo, se os valores de alias duplicados forem "Albert", um deles se tornará "Albert2" automaticamente. Se "Albert2" já estiver sendo usado, o alias se tornará "Albert3", e assim por diante.) No entanto, se objetos que têm valores de alias duplicados forem criados no AD DS local, ocorrerá uma colisão de objeto quando a sincronização de diretório é executada e a sincronização de objetos falhará.

Solução

Para resolve esse problema, determine valores e valores duplicados que entram em conflito com outros objetos AD DS. Para fazer isso, use um dos métodos a seguir.

Método 1: usar a Ferramenta de Correção de Erros da Ferramenta de Sincronização do IdFix Microsoft Entra

Use a Ferramenta de Correção de Erro da Ferramenta de Sincronização Microsoft Entra IdFix para identificar atributos duplicados ou inválidos. Para resolve atributos duplicados usando a Ferramenta IdFix, consulte o seguinte artigo da Base de Dados de Conhecimento da Microsoft:

2857385 "Duplicate" é exibido na coluna ERROR para dois ou mais objetos depois de executar a ferramenta IdFix

Método 2: mapear um usuário local existente para um usuário Microsoft Entra

Para fazer isso, confira o seguinte artigo da Base de Dados de Conhecimento da Microsoft:

2641663 Como usar a correspondência SMTP para corresponder contas de usuário locais às contas de usuário do Microsoft 365 para sincronização de diretório

Método 3: determinar conflitos de atributo causados por objetos que não foram criados em Microsoft Entra ID por meio da sincronização de diretório

Para determinar conflitos de atributo causados por objetos de usuário criados usando ferramentas de gerenciamento do Microsoft 365 (e que não foram criados em Microsoft Entra ID por meio da sincronização de diretório), siga estas etapas:

  1. Determine os atributos exclusivos da conta de usuário do AD DS local. Para fazer isso, em um computador que tenha as Ferramentas de Suporte do Windows instaladas, siga estas etapas:

    1. Clique em Iniciar, clique em Executar, digite ldp.exe e clique em OK.

    2. Clique em Conexão, clique em Conectar, digite o nome do computador de um controlador de domínio do AD DS e clique em OK.

    3. Clique em Conexão, clique em Associar e clique em OK.

    4. Clique em Exibir, clique em Modo de Exibição de Árvore, selecione o domínio do AD DS na lista suspensa BaseDN e clique em OK.

    5. No painel de navegação, localize e clique duas vezes no objeto que não está sincronizando corretamente. O painel Detalhes no lado direito da janela lista todos os atributos de objeto. O exemplo a seguir mostra os atributos do objeto:

      A captura de tela mostra um exemplo de atributos de objeto.

    6. Registre os valores do atributo userPrincipalName e cada endereço SMTP no atributo proxyAddresses multivalue. Você precisará desses valores mais tarde.

      Nome do atributo Exemplo Observações
      proxyAddresses proxyAddresses (3): x500:/o=Exchange/ou=Grupo Administrativo do Exchange (GroupName)/cn=Destinatários/cn=GUID; smtp:7628376@service.contoso.com; SMTP:7628376@contoso.com; O número exibido em parênteses ao lado do rótulo de atributo indica o número de valores de endereço proxy no atributo multivalue. Cada valor de endereço proxy distinto é indicado por um ponto e vírgula (;). O valor do endereço proxy SMTP primário é indicado pela maiúscula "SMTP:"
      userPrincipalName 7628376@contoso.com

      Observação

      Ldp.exe está incluído no Windows Server 2008 e nas Ferramentas de Suporte do Windows Server 2003. As Ferramentas de Suporte do Windows Server 2003 estão incluídas na mídia de instalação do Windows Server 2003. Ou, para obter a ferramenta, acesse o seguinte site da Microsoft: Ferramentas de Suporte do Service Pack 2003 do Windows Server 2 de 32 bits

  2. Conecte-se ao Microsoft 365 usando o módulo do Azure Active Directory para Windows PowerShell. Para fazer isso, siga estas etapas:

    1. Clique em Iniciar, clique em Todos os Programas, clique em Microsoft Entra ID e clique em Módulo do Azure Active Directory para Windows PowerShell.

    2. Digite os seguintes comandos na ordem na qual eles são apresentados e pressione Enter após cada comando:

      $cred = get-credential
      

      Observação

      Quando você for solicitado, insira suas credenciais de administrador do Microsoft 365.

      Connect-MSOLService –credential $cred
      

      Observação

      os módulos Azure AD e MSOnline PowerShell são preteridos a partir de 30 de março de 2024. Para saber mais, leia a atualização de preterição. Após essa data, o suporte para esses módulos é limitado à assistência de migração para o SDK do Microsoft Graph PowerShell e correções de segurança. Os módulos preteridos continuarão funcionando até março de 2025.

      Recomendamos migrar para o Microsoft Graph PowerShell para interagir com Microsoft Entra ID (anteriormente Azure AD). Para perguntas comuns sobre migração, consulte as perguntas frequentes sobre migração. Nota: As versões 1.0.x do MSOnline podem sofrer interrupções após 30 de junho de 2024.

      Deixe a janela do console aberta. Você terá que usá-lo na próxima etapa.

  3. Verifique os atributos userPrincipalName duplicados no Microsoft 365.

    Na conexão de console que você abriu na etapa 2, digite os seguintes comandos na ordem em que eles são apresentados e pressione Enter após cada comando:

    $userUPN = "<search UPN>"
    

    Observação

    Neste comando, o espaço reservado "pesquisar UPN" representa o atributo UserPrincipalName que você registrou na etapa 1f.

    get-msoluser –UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
    

    Deixe a janela do console aberta. Você o usará novamente na próxima etapa.

  4. Verifique se há proxy duplicadoAddressesesattributes. Na conexão de console que você abriu na etapa 2, digite os seguintes comandos na ordem em que eles são apresentados e pressione Enter após cada comando:

    $UserCredential = Get-Credential
    Connect-ExchangeOnline -Credential $UserCredential
    
  5. Para cada entrada de endereço proxy que você gravou na etapa 1f, digite os seguintes comandos na ordem em que eles são apresentados e pressione Enter após cada comando:

    $proxyAddress = "<search proxyAddress>"
    

    Observação

    Neste comando, o espaço reservado "proxy de pesquisaAddress" representa o valor de um atributo proxyAddresses que você registrou na etapa 1f.

    Get-EXOMailbox | Where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MsolUser -ObjectID $_.ExternalDirectoryObjectId | Where {($_.LastDirSyncTime -eq $null)}}
    

Os itens retornados após a execução dos comandos nas etapas 3 e 4 representam objetos de usuário que não foram criados por meio da sincronização do diretório e que têm atributos que entram em conflito com o objeto que não está sincronizando corretamente.

Depois de determinar valores de atributo conflitantes ou inválidos, resolva o problema seguindo as etapas no seguinte artigo da Base de Dados de Conhecimento da Microsoft:

2643629 Um ou mais objetos não sincronizam quando a ferramenta sincronização do Azure Active Directory é usada

Mais informações

Os comandos Windows PowerShell neste artigo exigem o módulo do Azure Active Directory para Windows PowerShell. Para obter mais informações sobre o módulo do Azure Active Directory para Windows PowerShell, acesse o seguinte site da Microsoft:

cmdlets Microsoft Entra

Ainda precisa de ajuda? Acesse a Microsoft Community.