开发通过时间表任务运行的脚本; 它的目的是针对less数域控制器,并连续(每2秒)做一个针对特定DC的ldap查询,并将输出转储到csv查找。实质上,我正在执行以下步骤。
$root = [ADSI]"LDAP://CN=$TargetDCName,OU=Domain Controllers,DC=Fabricom,DC=com" $search = [adsisearcher]$root $Search.Filter = "(&(objectClass=computer))" $Search.SearchScope = "base" $Obj = $Search.Findone() $Obj = $Obj.Path $DateFormatted = Get-Date -uformat "%Y-%m-%d_%I-%M-%S-%p" $Data = $DateFormatted + "," + $TargetDCName+ "," + "$Obj" Add-Content -Path $Path -Value $Data
现在我越来越怀疑了; 1.)我上面做的事情是否与LDAP连通性检查一样有意义,因为我使用与ROOT / Base相同的DC来查询DC(以上代码是否确认LDAP连接存在于来自任何应用程序的特定DCconfiguration正确吗?)
2.)这个问题是关于powershell,如何获取PowerShell中的LDAP错误日志? 我想testing一个不存在的DC或closures的DC,我应该期待什么日志事件以及如何捕获它。
3.)与问题2相同,如果DC有复制问题,是否会影响LDAP连接? 应该logging什么日志,以及如何? 以下是一些复制错误,这些事件是否会导致LDAP连接问题?
** – >(1256)远程系统不可用。 有关networking故障排除的信息,请参阅Windows帮助。 – >(1722)RPC服务器不可用。 – >(8206)目录服务正忙。 – >(8438)目录服务目前太忙,无法完成复制操作。
4.)如何识别LDAP查询的延迟? 由于这个脚本自己运行,有没有一种方法来确定它所花费的时间或测量其延迟?
请让我知道是否需要更多的信息。
做我以上做什么是有道理的LDAP连接检查
每2秒运行一次就会过度。 太多了。 如果你打算这样做,考虑延长间隔,每隔5分钟左右检查一次。 LDAP服务器不容易崩溃,您需要每2秒检查一次。
上面的代码是否确认LDAP连接存在于来自任何正确configuration的应用程序的特定DC?)
是的,它会testing一个LDAP连接。 这不是唯一的方法,它可能是也可能不是最好的方法,但它是一种方法。
我也怀疑如何在脚本的每次迭代中输出到CSV(每2秒!),并在每次迭代时简单覆盖相同的CSV。 如果您将输出发送到SQL数据库,并在每次运行脚本时添加一行,则您将获得更多的上下文数据。 例如,您可以查询数据库,看到从上午10点到上午10点30分钟有一个30分钟的中断,然后在7月7日上午11点45分到上午11点50分之间发生了5分钟的中断等等
这个问题是关于powershell,如何获取PowerShell中的LDAP错误日志? 我想testing一个不存在的DC或closures的DC,我应该期待什么日志事件以及如何捕获它。
你需要创build自己的事件日志。 Powershell不会自动logging每一个错误和exception,而不需要你去问。 考虑使用Start-Transcript将Powershell会话logging到文件中。 或者,您可以使用New-Event cmdlet创build自己的自定义事件日志消息。 使用Try / Catch块可以轻松捕捉exception。 您也可以使用脚本中的$ Errorvariables来查看最后一个错误。
和问题2一样,如果DC有复制问题,应该捕获什么日志以及如何?
这不是在域控制器上testing复制问题的适当方式。 您应该使用repadmin.exe /showreps ,目录服务事件日志等来监视复制健康状况。
编辑:要解决您的更新,
RPC错误不等同于Active Directory复制错误。 RPC服务器可用性是一个单独的问题…虽然RPC服务器可用性问题的根本原因当然也可能导致巧合的复制问题。 更多的故障排除是必需的。
如何识别LDAP查询的延迟? 由于这个脚本自己运行,有没有一种方法来确定它所花费的时间或测量其延迟?
从客户的angular度来看, Measure-Command cmdlet很好地告诉你事情花了多长时间。 或者您可以使用底层的System.Diagnostics.Stopwatch .NET对象。 这是相当准确的。
从服务器的angular度来看,你会想看性能监视器。 (Perfmon)查看“目录服务”和NTDS perfmon对象 – 它们有各种性能计数器,每秒执行多less次目录读取,平均时间,队列长度等。Perfmon计数器对整体健康有好处,但服务器可能不会跟踪每个单独的LDAP查询的延迟。 如果你对这种测量感兴趣,你可能会想要从客户端进行测量。