Solucionar problemas de sincronização de hash de senha com o Microsoft Entra Connect Sync

Este tópico fornece etapas para solucionar problemas com a sincronização de hash de senha. Se as senhas não estiverem sincronizando conforme o esperado, isso poderá ocorrer para um subconjunto de usuários ou para todos os usuários.

Para a implantação do Microsoft Entra Connect com a versão 1.1.614.0 ou posterior, use a tarefa de solução de problemas no assistente para solucionar problemas de sincronização de hash de senha:

Para a implantação com a versão 1.1.524.0 ou posterior, há um cmdlet de diagnóstico que você pode usar para solucionar problemas de sincronização de hash de senha:

Para as versões mais antigas da implantação do Microsoft Entra Connect:

Nenhuma senha é sincronizada: solucionar problemas usando a tarefa de solução de problemas

Você pode usar a tarefa de solução de problemas para descobrir por que nenhuma senha é sincronizada.

Observação

A tarefa de solução de problemas está disponível apenas para o Microsoft Entra Connect versão 1.1.614.0 ou posterior.

Executar a tarefa de solução de problemas

Para solucionar problemas em que nenhuma senha é sincronizada:

  1. Abra uma nova sessão do Windows PowerShell no servidor do Microsoft Entra Connect com a opção Executar como Administrador.

  2. Execute Set-ExecutionPolicy RemoteSigned ou Set-ExecutionPolicy Unrestricted.

  3. Inicie o assistente do Microsoft Entra Connect.

  4. Navegue até a página Tarefas Adicionais, selecione Solucionar problemas e clique em Avançar.

  5. Na página de solução de problemas, clique em Iniciar para iniciar o menu de solução de problemas no PowerShell.

  6. No menu principal, selecione Solucionar Problemas de Sincronização de hash de Senha.

  7. No submenu, selecione A Sincronização de hash de Senha não funciona.

Entender os resultados da tarefa de solução de problemas

A tarefa de solução de problemas executa as seguintes verificações:

  • Valide se o recurso de sincronização de hash de senha está habilitado para seu locatário do Microsoft Entra.

  • Valide se o servidor do Microsoft Entra Connect não está em modo de preparo.

  • Para cada conector local existente do Active Directory (que corresponde a uma floresta existente do Active Directory):

    • Valida se o recurso de sincronização de hash de senha está habilitado.

    • Pesquisa eventos de pulsação de sincronização de hash de senha nos logs de eventos de aplicativo do Windows.

    • Para cada domínio do Active Directory sob o Active Directory Connector local:

      • Valide se o domínio está acessível no servidor do Microsoft Entra Connect.

      • Valida se as contas do AD DS (Active Directory Domain Services) usadas pelo Active Directory Connector local tem o nome de usuário, a senha e as permissões corretos, necessários para a sincronização de hash de senha.

O diagrama a seguir ilustra os resultados do cmdlet para uma topologia do Active Directory local de domínio único:

Diagnostic output for password hash synchronization

O restante desta seção descreve resultados específicos que são retornados pela tarefa e os problemas correspondentes.

O recurso de sincronização de hash de senha não está habilitado

Se você não tiver habilitado a sincronização de hash de senha usando o assistente do Microsoft Entra Connect, o seguinte erro será retornado:

password hash synchronization isn't enabled

O servidor do Microsoft Entra Connect está em modo de preparo

Se o servidor do Microsoft Entra Connect estiver em modo de preparo, a sincronização de hash de senha será temporariamente desabilitada e o seguinte erro será retornado:

Microsoft Entra Connect server is in staging mode

Nenhum evento de pulsação de sincronização de hash de senha

Cada Active Directory Connector local tem seu próprio canal de sincronização de hash de senha. Quando o canal de sincronização de hash de senha é estabelecido e não existem alterações de senha a serem sincronizadas, um evento de pulsação (EventId 654) é gerado uma vez a cada 30 minutos no log de eventos de aplicativos do Windows. Para cada Active Directory Connector local, o cmdlet pesquisa eventos de pulsação correspondentes nas últimas três horas. Se nenhum evento de pulsação for encontrado, o seguinte erro será retornado:

No password hash synchronization heart beat event

A conta do AD DS não tem as permissões corretas

Se a conta do AD DS usada pelo Active Directory Connector local para sincronizar os hashes de senha não tiver as permissões apropriadas, o seguinte erro será retornado:

Screenshot that shows the error that's returned when the AD DS account has an incorrect username or password.

Nome de usuário ou senha incorreta da conta do AD DS

Se a conta do AD DS usada pelo Active Directory Connector local para sincronizar os hashes de senha tiver um nome de usuário ou uma senha incorreta, o seguinte erro será retornado:

Incorrect credential

Um objeto não está sincronizando senhas: solucionar problemas usando a tarefa de solução de problemas

Você pode usar a tarefa de solução de problemas para determinar por que um objeto não está sincronizando senhas.

Observação

A tarefa de solução de problemas está disponível apenas para o Microsoft Entra Connect versão 1.1.614.0 ou posterior.

Executar o cmdlet de diagnóstico

Para solucionar problemas de um objeto de usuário específico:

  1. Abra uma nova sessão do Windows PowerShell no servidor do Microsoft Entra Connect com a opção Executar como Administrador.

  2. Execute Set-ExecutionPolicy RemoteSigned ou Set-ExecutionPolicy Unrestricted.

  3. Inicie o assistente do Microsoft Entra Connect.

  4. Navegue até a página Tarefas Adicionais, selecione Solucionar problemas e clique em Avançar.

  5. Na página de solução de problemas, clique em Iniciar para iniciar o menu de solução de problemas no PowerShell.

  6. No menu principal, selecione Solucionar Problemas de Sincronização de hash de Senha.

  7. No submenu, selecione A senha não está sincronizada para uma conta de usuário específica.

Entender os resultados da tarefa de solução de problemas

A tarefa de solução de problemas executa as seguintes verificações:

  • Examina o estado do objeto do Active Directory no espaço do conector do Active Directory, no Metaverso e no espaço do conector do Microsoft Entra.

  • Valida se há regras de sincronização com a sincronização de hash de senha habilitada e aplicada a objeto do Active Directory.

  • Tenta recuperar e exibir os resultados da última tentativa de sincronizar a senha do objeto.

O diagrama a seguir ilustra os resultados do cmdlet, ao solucionar problemas de sincronização de hash de senha para um único objeto:

Diagnostic output for password hash synchronization - single object

O restante desta seção descreve os resultados específicos retornados pelo cmdlet e os problemas correspondentes.

O objeto do Active Directory não é exportado para o Microsoft Entra ID

Falha na sincronização de hash de senha para essa conta do Active Directory local porque não há nenhum objeto correspondente no locatário do Microsoft Entra. O seguinte erro é retornado.

Microsoft Entra object is missing

O usuário tem uma senha temporária

As versões mais antigas do Microsoft Entra Connect não dão suporte à sincronização de senhas temporárias com o Microsoft Entra ID. Uma senha será considerada temporária se o opção Alterar a senha no próximo logon estiver definida no usuário do Active Directory local. O seguinte erro é retornado com estas versões mais antigas:

Temporary password is not exported

Para habilitar a sincronização de senhas temporárias, você deve ter o Microsoft Entra Connect versão 2.0.3.0 ou superior instalada e o recurso ForcePasswordChangeOnLogon deve estar habilitado.

Os resultados da última tentativa de sincronizar a senha não estão disponíveis

Por padrão, o Microsoft Entra Connect armazena os resultados das tentativas de sincronização de hash de senha por sete dias. Se não houver nenhum resultado disponível para o objeto selecionado do Active Directory, será retornado o seguinte aviso:

Diagnostic output for single object - no password sync history

Nenhuma senha é sincronizada: solucionar problemas usando o cmdlet de diagnóstico

Você pode usar o cmdlet Invoke-ADSyncDiagnostics para descobrir por que nenhuma senha é sincronizada.

Observação

O cmdlet Invoke-ADSyncDiagnostics está disponível apenas para o Microsoft Entra Connect versão 1.1.524.0 ou posterior.

Executar o cmdlet de diagnóstico

Para solucionar problemas em que nenhuma senha é sincronizada:

  1. Abra uma nova sessão do Windows PowerShell no servidor do Microsoft Entra Connect com a opção Executar como Administrador.

  2. Execute Set-ExecutionPolicy RemoteSigned ou Set-ExecutionPolicy Unrestricted.

  3. Execute Import-Module ADSyncDiagnostics.

  4. Execute Invoke-ADSyncDiagnostics -PasswordSync.

Um objeto não está sincronizando senhas: solucionar problemas usando o cmdlet de diagnóstico

Você pode usar o cmdlet Invoke-ADSyncDiagnostics para determinar por que um objeto não está sincronizando senhas.

Observação

O cmdlet Invoke-ADSyncDiagnostics está disponível apenas para o Microsoft Entra Connect versão 1.1.524.0 ou posterior.

Executar o cmdlet de diagnóstico

Para solucionar problemas em que nenhuma senha esteja sincronizada para um usuário:

  1. Abra uma nova sessão do Windows PowerShell no servidor do Microsoft Entra Connect com a opção Executar como Administrador.

  2. Execute Set-ExecutionPolicy RemoteSigned ou Set-ExecutionPolicy Unrestricted.

  3. Execute Import-Module ADSyncDiagnostics.

  4. Execute o cmdlet a seguir:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName <Name-of-AD-Connector> -DistinguishedName <DistinguishedName-of-AD-object>
    

    Por exemplo:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName "contoso.com" -DistinguishedName "CN=TestUserCN=Users,DC=contoso,DC=com"
    

Nenhuma senha é sincronizada: etapas manuais de solução de problemas

Siga estas etapas para determinar por que nenhuma senha é sincronizada:

  1. O servidor do Connect está no modo de preparo? Um servidor no modo de preparo não sincroniza nenhuma senha.

  2. Execute o script na seção Obter o status das configurações de sincronização de senha. Ele fornece uma visão geral da configuração da sincronização de senha.

    PowerShell script output from password sync settings

  3. Se o recurso não estiver habilitado no Microsoft Entra ID ou se o status do canal de sincronização não estiver habilitado, execute o assistente de instalação do Connect. Selecione Personalizar opções de sincronizaçãoe desmarque a sincronização de senha. Essa alteração desabilita temporariamente o recurso. Em seguida, execute o assistente novamente e habilite novamente a sincronização de senha. Execute o script novamente para verificar se a configuração está correta.

  4. Procure se há erros no log de eventos. Procure os seguintes eventos, que poderão indicar um problema:

    • Fonte: “Sincronização de diretório” ID: 0, 611, 652, 655 Se um desses eventos aparecer, há um problema de conectividade. A mensagem do log de eventos contém informações da floresta em que há um problema.
  5. Se não aparecer nenhuma pulsação ou se nada mais funcionou, execute Disparar uma sincronização completa de todas as senhas. Execute o script apenas uma vez.

  6. Confira a seção Solucionar problemas de um objeto que não está sincronizando senhas.

Problemas de conectividade

Você tem conectividade com o Microsoft Entra ID?

A conta tem as permissões necessárias para ler os hashes de senha em todos os domínios? Se você instalou o Connect usando as configurações Expresso, as permissões já estarão corretas.

Se você usou a instalação personalizada, defina as permissões manualmente, fazendo o seguinte:

  1. Para localizar a conta usada pelo Active Directory Connector, inicie o Synchronization Service Manager.

  2. Acesse Conectores e, em seguida, pesquise a floresta do Active Directory local cujo problema você está solucionando.

  3. Selecione o conector e, em seguida, clique em Propriedades.

  4. Vá para Conectar-se à floresta do Active Directory.

    Account used by Active Directory connector
    Anote o nome de usuário e o domínio em que a conta está localizada.

  5. Inicie os Usuários e Computadores do Active Directory e, em seguida, verifique se a conta que você encontrou anteriormente tem as seguintes permissões definidas na raiz de todos os domínios na floresta:

    • Replicar alterações de diretório
    • Replicar todas as alterações de diretório
  6. Os controladores de domínio estão acessíveis pelo Microsoft Entra Connect? Se o servidor do Connect não puder se conectar a todos os controladores de domínio, configure Usar somente o controlador de domínio preferencial.

    Domain controller used by Active Directory connector

  7. Volte para Synchronization Service Manager e Configurar Partição de Diretório.

  8. Selecione o domínio em Selecionar partições de diretório, selecione a caixa de seleção Usar somente controladores de domínio preferenciais e, em seguida, clique em Configurar.

  9. Na lista, insira os controladores de domínio que o Connect deve usar para a sincronização de senha. A mesma lista também é usada para importação e exportação. Siga estas etapas para todos os domínios.

Observação

Para aplicar essas alterações, reinicie o serviço Microsoft Azure ID Sync (AdSync).

  1. Se o script mostrar que não há nenhuma pulsação, execute o script Disparar uma sincronização completa de todas as senhas.

Um objeto não está sincronizando senhas: etapas manuais de solução de problemas

Você pode solucionar problemas de sincronização de hash de senha problemas facilmente analisando o status de um objeto.

  1. Em Usuários e computadores do Active Directory, pesquise o usuário e, em seguida, verifique se a caixa de seleção O usuário deve alterar a senha no próximo logon está desmarcada.

    Active Directory productive passwords

    Se a caixa de seleção estiver marcada, solicite que o usuário entre e altere a senha. Senhas temporárias não são sincronizadas com o Microsoft Entra ID.

  2. Se a senha estiver correta no Active Directory, siga o usuário no mecanismo de sincronização. Seguindo o usuário do Active Directory local ao Microsoft Entra ID, você pode ver se há algum erro descritivo no objeto.

    a. Inicie o Synchronization Service Manager.

    b. Clique em Conectores.

    c. Selecione o Active Directory Connector no qual o usuário está localizado.

    d. Selecione Pesquisar Espaço do Conector.

    e. No Escopo selecione DN ou Âncora e, em seguida, insira o DN completo do usuário cujo problema você está solucionando.

    Search for user in connector space with DN

    f. Localize o usuário que você está procurando e, em seguida, clique em Propriedades para ver todos os atributos. Se o usuário não estiver no resultado da pesquisa, verifique as regras de filtragem e lembre-se de executar Aplicar e verificar alterações para que o usuário seja exibido no Connect.

    g. Para ver os detalhes de sincronização de senha do objeto da semana passada, clique em Log.

    Object log details

    Se o log do objeto está vazio, o Microsoft Entra Connect não conseguiu ler o hash de senha do Active Directory. Continue a solução de problemas com Erros de conectividade. Se aparecer qualquer outro valor que não seja êxito, consulte a tabela no Log de sincronização de senha.

    h. Selecione a guia linhagem e verifique se pelo menos uma regra de sincronização na coluna PasswordSync é True. Na configuração padrão, o nome da regra de sincronização é Entrada do AD – AccountEnabled do Usuário.

    Lineage information about a user

    i. Clique em Propriedades de objeto do metaverso para exibir uma lista de atributos do usuário.

    Screenshot that shows the list of user attributes for the Metaverse Object Properties.

    Verifique se não há nenhum atributo cloudFiltered presente. Verifique se os atributos de domínio (domainFQDN e domainNetBios) têm os valores esperados.

    j. Clique na guia Conectores. Verifique se os conectores do Active Directory local e do Microsoft Entra ID são exibidos.

    Metaverse information

    k. Selecione a linha que representa o Microsoft Entra ID, clique em Propriedades e clique na guia Linhagem. O objeto de espaço do conector deve ter uma regra de saída na coluna PasswordSync definida como true. Na configuração padrão, o nome da regra de sincronização é Saída para Microsoft Entra ID – Ingresso do Usuário.

    Connector Space Object Properties dialog box

Log de sincronização de senha

A coluna de status pode ter os seguintes valores:

Status Descrição
Êxito A senha foi sincronizada com êxito.
FilteredByTarget A senha está definida para O usuário deve alterar a senha no próximo logon. A senha não foi sincronizada.
NoTargetConnection Nenhum objeto no metaverso ou no espaço conector do Microsoft Entra.
SourceConnectorNotPresent Nenhum objeto encontrado no espaço conector do Active Directory local.
TargetNotExportedToDirectory O objeto no espaço conector do Microsoft Entra ainda não foi exportado.
MigratedCheckDetailsForMoreInfo A entrada de log foi criada antes da versão 1.0.9125.0 e é mostrada em seu estado herdado.
Erro O serviço retornou um erro desconhecido.
Unknown Ocorreu um erro ao tentar processar um lote de hashes de senha.
MissingAttribute Atributos específicos (por exemplo, o hash de Kerberos) exigidos pelo Microsoft Entra Domain Services não estão disponíveis.
RetryRequestedByTarget Atributos específicos (por exemplo, o hash de Kerberos) exigidos pelos Microsoft Entra Domain Services não estavam disponíveis anteriormente. É feita uma tentativa de sincronizar novamente o hash de senha do usuário.

Scripts para ajudar na solução de problemas

Obter o status das configurações da sincronização de senha

Import-Module ADSync
$connectors = Get-ADSyncConnector
$aadConnectors = $connectors | Where-Object {$_.SubType -eq "Windows Azure Active Directory (Microsoft)"}
$adConnectors = $connectors | Where-Object {$_.ConnectorTypeName -eq "AD"}
if ($aadConnectors -ne $null -and $adConnectors -ne $null)
{
    if ($aadConnectors.Count -eq 1)
    {
        $features = Get-ADSyncAADCompanyFeature
        Write-Host
        Write-Host "Password sync feature enabled in your Azure AD directory: "  $features.PasswordHashSync
        foreach ($adConnector in $adConnectors)
        {
            Write-Host
            Write-Host "Password sync channel status BEGIN ------------------------------------------------------- "
            Write-Host
            Get-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector.Name
            Write-Host
            $pingEvents =
                Get-EventLog -LogName "Application" -Source "Directory Synchronization" -InstanceId 654  -After (Get-Date).AddHours(-3) |
                    Where-Object { $_.Message.ToUpperInvariant().Contains($adConnector.Identifier.ToString("D").ToUpperInvariant()) } |
                    Sort-Object { $_.Time } -Descending
            if ($pingEvents -ne $null)
            {
                Write-Host "Latest heart beat event (within last 3 hours). Time " $pingEvents[0].TimeWritten
            }
            else
            {
                Write-Warning "No ping event found within last 3 hours."
            }
            Write-Host
            Write-Host "Password sync channel status END ------------------------------------------------------- "
            Write-Host
        }
    }
    else
    {
        Write-Warning "More than one Azure AD Connectors found. Please update the script to use the appropriate Connector."
    }
}
Write-Host
if ($aadConnectors -eq $null)
{
    Write-Warning "No Azure AD Connector was found."
}
if ($adConnectors -eq $null)
{
    Write-Warning "No AD DS Connector was found."
}
Write-Host

Disparar uma sincronização completa de todas as senhas

Observação

Execute este script apenas uma vez. Se for necessário executá-lo mais de uma vez, haverá algum outro problema. Para solucionar o problema, contate o suporte da Microsoft.

Você pode disparar uma sincronização completa de todas as senhas usando o script a seguir:

$adConnector = "<CASE SENSITIVE AD CONNECTOR NAME>"
$aadConnector = "<CASE SENSITIVE AAD CONNECTOR NAME>"
Import-Module adsync
$c = Get-ADSyncConnector -Name $adConnector
$p = New-Object Microsoft.IdentityManagement.PowerShell.ObjectModel.ConfigurationParameter "Microsoft.Synchronize.ForceFullPasswordSync", String, ConnectorGlobal, $null, $null, $null
$p.Value = 1
$c.GlobalParameters.Remove($p.Name)
$c.GlobalParameters.Add($p)
$c = Add-ADSyncConnector -Connector $c
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $false
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $true

Próximas etapas