Does what i am doing above make sense as LDAP connectivity check
Executar isto a cada 2 segundos é um exagero. É muito. Se você for fazer isso, considere alongar o intervalo para verificar apenas uma vez a cada 5 minutos ou mais. Os servidores LDAP não são tão propensos a falhas que você precisa verificá-los a cada 2 segundos.
Does the above code confirm that LDAP connectivity exists to that particular DC from any application which is correctly configured?)
Sim, ele testará uma conexão LDAP. Não é o único caminho, e pode ou não ser o melhor caminho, mas é um caminho.
Eu também sou cético sobre como você gera um CSV em cada iteração do script (a cada 2 segundos!) e simplesmente sobrescreve o mesmo CSV a cada iteração. Se, em vez disso, você enviar a saída para, digamos, um banco de dados SQL e adicionar uma linha toda vez que o script for executado, você terá muito mais dados contextuais. Por exemplo, você poderia consultar o banco de dados e ver que teve uma interrupção de 30 minutos das 10h às 10h30 e, em seguida, teve uma interrupção de 5 minutos das 11:45 às 11:50 em 7 de julho , etc.
This question is regarding powershell , how to obtain LDAP error logs in powershell? I want to test it against a non existent or a DC which is shut down, what log event i should expect and how to capture it.
Você precisa criar seu próprio log de eventos. O Powershell não registra automaticamente cada erro e exceção sem que você o solicite. Considere usar Start-Transcript
para registrar suas sessões do Powershell em um arquivo. Ou você pode usar o cmdlet New-Event
para criar suas próprias mensagens de log de eventos personalizadas. Use blocos Try / Catch para capturar exceções facilmente. Você também pode usar a variável $ Error em seus scripts para ver o último erro.
Same as question 2, if DC is having replication issues, what logs should be captured and how?
Esta não é uma maneira apropriada de testar problemas de replicação em um controlador de domínio. Você deve usar repadmin.exe /showreps
, o log de eventos do Serviço de Diretório, etc., para monitorar a integridade da replicação.
Editar: para resolver sua atualização,
Erros de RPC não se equiparam a erros de replicação do Active Directory. A disponibilidade do servidor RPC é um problema separado ... embora a causa subjacente dos problemas de disponibilidade do servidor RPC certamente também possa contribuir para problemas de replicação coincidentes. Mais solução de problemas seria necessária.
How to Identify Latency of an LDAP query? Since this script runs on its own, is there a way to determine what time its took or measure its latency?
Do ponto de vista do cliente, o cmdlet Measure-Command
é bom em dizer quanto tempo demorou. Ou você pode usar o objeto .NET System.Diagnostics.Stopwatch subjacente. É bem preciso.
Do ponto de vista do servidor, você gostaria de assistir ao Monitor de desempenho. (Perfmon) Veja os objetos perfmon 'Directory Services' e NTDS - eles têm vários contadores de desempenho relacionados a quantas leituras de diretórios estão sendo feitas por segundo e seus tempos médios, comprimentos de filas, etc. Os contadores de desempenho são bons para geral, saúde, mas o servidor provavelmente não rastreará a latência de cada consulta LDAP individual. Se você estivesse interessado nessa medida, provavelmente desejaria fazer a medição do cliente.