Verificações de integridade do Active Directory

24

Ultimamente, tive alguns problemas do Active Directory. Estava pensando em quais verificações eu poderia fazer regularmente para garantir que tudo funcione da melhor maneira possível?

Jake
fonte

Respostas:

14

Em uma empresa menor em que trabalhei, usamos isso . É um script que compara PASS / FAILS, certamente não é uma ferramenta ruim para experimentar. Interessado em ver o que os outros usaram.

JMeterX
fonte
18

Para lhe dar algumas idéias sobre o que pode ser testado, aqui estão algumas das verificações automáticas que realizamos diariamente.

  • Teste de ping
  • Ligação autenticada LDAP / Porta 389
  • Ligação autenticada GC / Port 3268
  • Teste de DNS / porta 53. Isso inclui a realização de uma pesquisa no DC para o nome do host DNS do DC, para confirmar que apenas um endereço foi retornado. Para controladores de domínio que possuem vários endereços IP, confirmamos que o valor do Registro "PublishAddresses" está definido em HKLM \ System \ CurrentControlSet \ Services \ DNS \ Parameters e corresponde ao que deve ser o endereço IP esperado.
  • Teste Sysvol / FRS. Isso inclui a verificação da versão no arquivo gpt.ini do GPO mais recente e a comparação com o emulador PDC.
  • Verificação de espaço livre em disco (WMI).
  • Sincronização de tempo. O WMI pode ser usado para obter a hora local do controlador de domínio, comparar com o servidor que está executando o teste e sinalizar se a diferença está se aproximando do limite (4m 50s).
  • Publicidade do Time Server. saída do comando: 'nltest / server: serverName /dsgetdc:domainName.company.com' e verifique se o sinalizador TIMESERV está presente.
  • Teste do servidor de horas.
    1. Consulte o servidor no UDP / 123 para obter uma resposta NTP válida.
    2. Use w32tm.exe /query /computer:dcname /status /verbosepara determinar o último horário de sincronização com êxito do controlador de domínio e se o horário do controlador de domínio está sincronizado.
    3. Use nltest.exe /server:dcname /dsgetdc:dcDomainDnsNamepara determinar se o controlador de domínio está realmente anunciando como um servidor de horário. O anúncio é realizado pelo serviço Netlogon.
  • GC Advertising. Uma maneira de determinar se um DC está realmente anunciando como um Catálogo Global é usarrepadmin /showreps . Se alguma partição ainda não foi totalmente replicada, ela exibirá 'AVISO: Não está anunciando como um catálogo global'. Observe que os sinalizadores NLTest podem indicar que o dc está configurado como um GC; essa 'configuração' é diferente de 'publicidade'. Isso é de particular interesse em grandes ambientes distribuídos com muitos domínios, pois pode levar dias ou semanas para que um dc replique gradualmente todas as partições até o ponto em que o teste de GC passa.
  • Teste de replicação. Cada domínio possui um objeto "tag" e um dos atributos é usado para armazenar um valor de data e hora. Todos os controladores de domínio são consultados para esses objetos, e os controladores de domínio com valores que excedem o limite são sinalizados para problemas de replicação.
  • Verificação de configuração de registro de consistência de replicação estrita . Replicação estrita é o padrão para novos domínios do Windows 2008 e posteriores; no entanto, ambientes AD mais antigos estabelecidos não eram o padrão e essa configuração seria transferida. Objetos remanescentes se tornam muito mais difíceis de identificar e resolver em ambientes maiores com muitos domínios e controladores de domínio.
  • Contagem de replicação pendente. Isso pode ser obtido via WMI ou .NET. É o mesmo que executar a repadmin /queue. Os controladores de domínio com um número alto de replicações pendentes podem ter a replicação desativada por algum motivo. Um exemplo seria se a Consistência estrita de replicação estivesse ativada, isso definitivamente desligaria a replicação se um objeto inválido ou excluído fosse tentado replicar a entrada. Também é possível obter a data e hora mais recente da última replicação bem-sucedida de um vizinho específico, que pode ser sinalizado se exceder um limite.
Greg Askew
fonte
Completamente, obrigado! Contudo; Alguma chance de você poder elaborar um "teste do servidor de horas"? Como você faz isso manualmente (ou em um script, digamos?) Com o mínimo esforço? :)
Ashley
1
Criei um NTPClient para executar uma sincronização de tempo com o controlador de domínio no UDP / 123. Para o Windows 2008, é possível obter várias informações usando: w32tm.exe / query / computer: dcname / status / verbose. Ele fornece todas as informações que podem ser obtidas por uma sincronização NTPClient, além do horário da última sincronização bem-sucedida e se o controlador de domínio estiver sincronizado. Essa é uma enorme diferença do Windows 2003. Para determinar se o controlador de domínio está realmente anunciando como um servidor de horário, é necessário usar: nltest.exe / server: dcname / dsgetdc: dcDomainDnsName.
Greg Askew
isso é apenas uau! você se importaria de compartilhar os scripts em execução para estes. Vou tentar executá-los usando o PowerShell.
whizkid
1
@ whizkid: Eu não tenho um script do PowerShell, mas desenvolvi recentemente um aplicativo C # que faz tudo isso, e o publicarei no CodePlex.com dentro de uma semana.
Greg Askew
8

O Active Directory depende muito do DNS, então comece com algumas verificações de DNS.

NSLOOKUP hostname Este teste de que o DNS é capaz de resolver um nome de host para um endereço IP

DCDIAG / TEST: DNS Isso irá verificar se o DNS e o Active Directory estão funcionando corretamente.

NETDIAG / TEST: DNS Mais testes de DNS

Quando estiver convencido de que o DNS está funcionando corretamente, aqui estão mais testes

REPADMIN / SHOWREPS Isso mostrará a última vez que a replicação ocorreu com os parceiros de replicação

REPADMIN / REPLSUM / ERRORSONLY Isso exibe erros de replicação entre controladores de domínio.

DCDIAG / Q O rei das ferramentas de diagnóstico do AD. Testa e relata todos os componentes do AD.

NETDIAG Testa tudo

Jake
fonte