在Windows Server 2008 R2中监视Active Directory(AD)复制

使用Active Directory,监控复制的好方法是什么?

我有多个站点和多个位置,所以理想情况下,站点间和站点内的复制都将受到监视。 我不确定是否需要监视每个DC,每个NTDS连接或每个DC *每个NTDS连接。

为了适应标准的警报方法,perfmon计数器可以让我提醒复制是否在X分钟之后,似乎是理想的。

通过目录服务Perfmon计数器看,我没有看到任何东西,似乎正是我想要的。

我碰巧使用了一个支持PowerShell(Orion)的监控系统,所以我写得非常快,我将会看到它是如何满足我的需求的:

 #PS脚本来监视自上次成功AD同步以来的秒(通过采取任何分区的最长(最大) 
 #KMB 11/22/2011 

 #http://archive.msdn.microsoft.com/RepPSAdmin/Release/ProjectReleases.aspx ReleaseId = 5267
 import-module -name RepPSAdmin

 $ hostname = $ env:COMPUTERNAME

 #PS C:\ Windows \ system32> Get-ADServerReplicationStatus -ServerName $ hostname -SourceServer |  Get-Member -memberType *属性

 $ now = Get-Date
 $ latest = New-Timespan -start $ now -end $ now
 Get-ADServerReplicationStatus -ServerName $ hostname -SourceServer |  foreach-object { 
     #写主机$ _。LastSuccessfulSync}
     $ temp = $ now  -  $ _。LastSuccessfulSync
     #Write-Host $ _。LastSuccessfulSync :: $ temp :: $ temp.TotalSeconds
     if($ temp.TotalSeconds -gt $ latest.TotalSeconds){
         $ latest = $ temp
     }
 }
写主机$ latest.TotalSeconds

免责声明 – 这个脚本仍然是一个工作和进步,我不知道PowerShell 😛

你可以在广告中预留一个监控命名空间吗? 然后,您可以定期向主数据库中写入一些时间戳,并轮询重复数据以查看最近复制需要多长时间。