Corrigir ‘Um Controlador de Domínio do Active Directory Não Pôde Ser Contatado’

Cada administrador de TI que gerencia máquinas em um ambiente Active Directory já passou por isso. Você tenta adicionar um computador a um domínio Active Directory (AD) e recebe o temido erro “Não foi possível contatar um Controlador de Domínio Active Directory“. Neste artigo, aprenda os passos para diagnosticar (e resolver) esse problema de uma vez por todas.

A FREE read only tool that scans your AD and generates multiple interactive reports for you to measure the effectiveness of your password policies against a brute-force attack. Download Specops Password Auditor now!

An Active Directory Domain Controller Could not be Contacted

Este erro está relacionado ao DNS. O problema principal é que o computador falhou em encontrar um registro SRV de DNS apropriado que ele precisa para ingressar no domínio AD.

I’ve put together a few steps for you to follow to fix this error and get your computer joined to your domain.

Assegure-se de estar usando os servidores DNS corretos

Antes de se aprofundar demais em um buraco de coelho, primeiro certifique-se de estar usando os servidores DNS corretos em primeiro lugar.

O Active Directory e o DNS têm uma relação especial. Controladores de domínio registram registros específicos em servidores DNS que conhecem. Estes registros vivem na zona _ldap._tcp.dc.msdcs.<nome do domínio> e ajudam dispositivos associados ao AD a encontrar recursos como controladores de domínio. Registros SRV não existirão em servidores DNS que não são integrados ao AD.

Para resolver este problema, você precisa estar usando um dos seguintes:

  • Um servidor DNS integrado ao AD
  • A DNS server that replicates records from an AD aware DNS server
  • A DNS server that has forwarding set up to query either an AD-integrated DNS server or a DNS server with replicated records

Para verificar se o servidor DNS que você está usando é um dos mencionados acima, execute o seguinte comando em uma sessão do PowerShell em um computador já associado ao domínio existente:

PS C:\> Get-DnsClientServerAddress

InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
Ethernet                             9 IPv4    {10.0.0.101}
Ethernet                             9 IPv6    {}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}

As respostas que você obtém na coluna ServerAddesses são os servidores DNS sendo usados por esse computador. Se você não tiver outro cliente de domínio para verificar, precisará entrar em contato com sua equipe de rede para obter essas informações.

Você pode usar o cmdlet Set-DnsClientServerAddress do PowerShell para alterar as configurações do cliente DNS do computador ou através da caixa de diálogo Propriedades do Protocolo da Internet Versão 4 (TCP/IPv4) para o cartão de rede do computador. Isso é feito indo para Painel de Controle -> Rede -> Internet -> Conexões de Rede.

Uma vez na janela Conexões de Rede, clique com o botão direito do mouse no cartão de rede, escolha Propriedades, escolha Protocolo de Internet Versão 4 (TCP/IPv4) e então clique em Propriedades.

IPv4 properties dialog

Se a rede usar o Protocolo de Configuração Dinâmica de Hosts (DHCP), verifique se as opções Obter um endereço IP automaticamente e Obter endereço do servidor DNS automaticamente estão selecionadas.

Se sua rede não usar DHCP, então atualize os valores do Servidor DNS Preferido e Servidor DNS Alternativo para os corretos que você obteve anteriormente.

Encontre o Verdadeiro Erro

Se você confirmou que seu computador está usando os servidores DNS corretos, então é hora de investigar um pouco mais.

Quando você tenta ingressar um computador em um domínio, o erro “Erro ao Contatar um Controlador de Domínio do Active Directory” aparece, mas não é a mensagem de erro “verdadeira”. Você precisa investigar um pouco mais a fundo.

Você notará na caixa de diálogo de erro um botão Detalhes >>. Clique nele. Isso fornecerá informações mais detalhadas que permitirão solucionar esse erro de forma mais eficiente.

Expanded details view of the error dialog

Você pode selecionar o conteúdo da caixa de texto para copiar e colar em um visualizador de texto, ou pode encontrar as mesmas informações no arquivo C:\windows\debug\dcdiag.txt nessa máquina. Esse arquivo é criado pelo Windows quando ocorre o erro.

O texto do erro contém algumas informações importantes. Eu destaquei e coloquei em negrito cada uma delas no exemplo abaixo:

  • O nome de domínio que a máquina acredita que você pediu para ela se juntar (1)
  • O código de erro (2)
  • A consulta DNS que foi feita (3)
  • O(s) servidor(es) DNS que a máquina consultou (se houver) (4)

Observação: Essas informações são destinadas a um administrador de rede. Se você não é o administrador da rede, notifique o administrador de que você recebeu essas informações, que foram registradas no arquivo C:\windows\debug\dcdiag.txt.

O seguinte erro ocorreu quando o DNS foi consultado para o registro de recursos de localização de serviço (SRV) usado para localizar um Controlador de Domínio do Active Directory (AD DC) para o domínio “carisbrookelabs.local”(1):

O erro foi: “O nome DNS não existe.”
(código de erro 0x0000232B RCODE_NAME_ERROR) (2)

A consulta foi para o registro SRV para _ldap._tcp.dc._msdcs.carisbrookelabs.local (3)

Causas comuns deste erro incluem o seguinte:

Os registros DNS SRV necessários para localizar um AD DC para o domínio não estão registrados no DNS. Estes registros são registrados automaticamente com um servidor DNS quando um AD DC é adicionado a um domínio. Eles são atualizados pelo AD DC em intervalos definidos. Este computador está configurado para usar servidores DNS com os seguintes endereços IP:

8.8.4.4
8.8.8.8 (4)

Uma ou mais das seguintes zonas não incluem delegação para sua zona filho: carisbrookelabs.local

local
. (a zona raiz)

0x0000267C DNS_ERROR_NO_DNS_SERVER

Este erro indica que o servidor DNS não pôde ser encontrado para tentar sequer a consulta. Nem mesmo teve uma chance. Isso é tipicamente devido a falta de conectividade de rede com o servidor DNS.

Observe que você pode ingressar em um computador sem uma conexão de rede conhecida como um adesão de domínio offline, mas isso está fora do escopo deste artigo.

Resolva Problemas com Sua Conexão de Rede

Se você ver esta mensagem de erro, precisará começar a fazer alguns testes de rede.

  1. Verifique se seu adaptador de rede está ativado e se você pode se conectar a outros recursos de rede.
  2. Verifique se você tem um endereço IP e servidores DNS configurados.

Você pode verificar um endereço IP e servidores DNS executando o comando ipconfig /all.

Se você tiver um endereço IP e puder acessar outros recursos de rede, será necessário testar a conexão entre o computador e o servidor DNS.

Para fazer isso, você pode usar o comando ping e o cmdlet Test-Connection do PowerShell. Teste a conectividade com o(s) servidor(es) DNS usando um desses dois utilitários. Se o tráfego do Protocolo de Mensagens de Controle da Internet (ICMP) for permitido na rede, você deverá receber uma resposta. Se houver um erro ou tempo limite, provavelmente há algum problema de rede, como roteamento. Fale com a equipe de rede para resolver o problema e tente fazer a junção novamente.

Verifique a conectividade do DNS

Depois de confirmar que a conexão de rede está funcionando, você precisará garantir que o computador possa se conectar via TCP/53 ao servidor DNS.

Tente usar o cmdlet Resolve-DNSName do PowerShell com o FQDN (nome de domínio totalmente qualificado) do domínio que você está tentando ingressar. Isso deve retornar um ou mais registros de servidor DNS:

PS C:\> Resolve-DNSName carisbrookelabs.local


Name                                           Type   TTL   Section	IPAddress
----                                       	----   ---   -------	---------
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.103
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.102
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.101

Se você receber um erro, vale a pena verificar se não há nada bloqueando o tráfego IP na porta 53 (a porta usada para o tráfego DNS) entre sua máquina e os servidores DNS.

Você pode fazer uma verificação simples de conectividade na porta 53 usando o cmdlet Test-NetConnection (não confunda com o cmdlet Test-Connection):

PS C:\> Test-NetConnection -Port 53 -ComputerName <DNSSERVERHERE>
True

Você receberá uma resposta de Verdadeiro se a conexão for bem-sucedida, ou Falso se falhar. Uma falha pode ser devido a um firewall de rede ou baseado em host no servidor DNS.

0x0000232B RCODE_NAME_ERROR

Este erro significa que ele conseguiu encontrar o servidor DNS, mas o registro SRV não foi encontrado. Este erro requer um pouco mais de solução de problemas.

Assegure-se de que está usando o FQDN do Domínio

Parece simples, mas verifique se o nome que você digitou corresponde ao nome de domínio totalmente qualificado (FQDN) do domínio que está tentando ingressar. Isso deve ser apenas um nome de domínio, não um nome de servidor. Por exemplo, use carisbrookelabs.local e não WIN-3467RQTHJH5.carisbrookelabs.local.

Se houver alguma dúvida, verifique o nome de domínio de um cliente de domínio existente. Você pode encontrar o nome de domínio apropriado executando este comando PowerShell em um cliente de domínio existente.

PS51> (Get-CimInstance Win32_ComputerSystem).Domain
carisbrookelabs.local

Se você tentar usar o nome NETBIOS (contoso) em vez do FQDN (contoso.local), o computador pode encontrar o domínio, mas o Windows tratará o nome como um FQDN de qualquer maneira.

Se você digitar um nome NETBIOS e não tiver uma infraestrutura WINS configurada, você irá obter o erro que estamos tentando corrigir. Sempre use um FQDN em vez de um nome NETBIOS.

Typing an FQDN in the Computer/Domain Changes dialog

Verifique os registros DNS

Para este passo, você vai usar novamente o comando Resolve-DNSName. Desta vez, utilizando o registro DNS exato que não foi recuperado quando você tentou ingressar sua máquina no domínio. Copie e cole-o do arquivo dcdiag.txt mencionado na introdução, ou da cópia do texto de erro que você tirou anteriormente. Isso evitará quaisquer erros de digitação com underscores e hífens.

Seu comando deve se parecer com isso:

PS C:\> Resolve-DNSName _ldap._tcp.dc._msdcs.carisbrookelabs.local


Name                    	Type TTL   Section	PrimaryServer           	NameAdministrator       	SerialNumber
----                    	---- ---   -------	-------------           	-----------------       	------------
_msdcs.carisbrookelabs.loca SOA  3600  Authority  WIN-3467RQTHJH5.carisbrooke hostmaster.carisbrookelabs. 419
l                                             	labs.local              	local

Use a ferramenta gratuita Specops Password Auditor para escanear seu Active Directory e identificar vulnerabilidades relacionadas a senhas, incluindo mais de 930 milhões de senhas comprometidas conhecidas. Faça o Download Hoje!

Se você receber O nome DNS não existe como resposta a este comando, então seu problema está com o DNS.

  • Verifique se está usando o servidor DNS correto
  • Verifique se os registros relevantes não foram excluídos

Se você receber uma resposta positiva para Resolve-DNSName _msdcs.<domainname> mas receber um Nome DNS não existe de Resolve-DNSName _ldap._tcp.dc._msdcs.<domainname>, então os registros estão faltando.

Re-registre os registros DNS do seu controlador de domínio usando o comando ipconfig /registerdns em cada DC. Pode levar alguns minutos para os registros aparecerem.

Assim que você puder confirmar a presença do(s) registro(s) DNS necessário(s) usando Resolve-DNSName, então você deve estar pronto para prosseguir.

Resumo

Neste artigo, você aprendeu alguns passos para tentar ao solucionar o erro “Um Controlador de Domínio do Active Directory não pôde ser Contatado“. É impossível cobrir cada cenário individual em um artigo como este, mas espero que o processo funcione para você e o coloque no caminho certo!

Leitura Adicional

Source:
https://adamtheautomator.com/an-active-directory-domain-controller-could-not-be-contacted/