Powershell 如何在连接期间检查复制的域控制器是否处于活动状态

Powershell 如何在连接期间检查复制的域控制器是否处于活动状态,powershell,active-directory,domaincontroller,Powershell,Active Directory,Domaincontroller,我们有一组复制的域控制器,但没有负载平衡器,因此在建立连接时必须指定一个控制器。即使我们只输入域,脚本也会建立一个连接,如果连接失败,它也会失败,并且不会循环检查其他连接 有没有办法先检查各个控制器之间的活动连接,然后在连接字符串中使用它连接的第一个控制器 现在我正在看一个我没有写的脚本,我对powershell是新手,所以我现在没有多少线索,但这是字符串: foreach($ou in $OUS) { Write-Output "Exporting $ou to CSV" $out += Ge

我们有一组复制的域控制器,但没有负载平衡器,因此在建立连接时必须指定一个控制器。即使我们只输入域,脚本也会建立一个连接,如果连接失败,它也会失败,并且不会循环检查其他连接

有没有办法先检查各个控制器之间的活动连接,然后在连接字符串中使用它连接的第一个控制器

现在我正在看一个我没有写的脚本,我对powershell是新手,所以我现在没有多少线索,但这是字符串:

foreach($ou in $OUS) {
Write-Output "Exporting $ou to CSV"
$out += Get-ADUser -Server "blank.io" -searchbase $ou -Properties * -Filter { mail -like "*blank.io" } |
Select-Object @{Label = "First Name";Expression = {$_.givenName}},

---- Code goes on, this is just the pertinent stuff

感谢

AD cmdlet自动选择当前站点中的域控制器。可能类似于
Get-AddomaInControl-Discover-NextClosestSite-ForceDiscover
的帮助。值得注意的是,
Get-AddomaInControl-Discover
反过来会导致调用
netapi32.dll
,在这一点上,机器上的
netlogon
服务将进行站点感知DC发现,并在返回DC之前执行所谓的“LDAP Ping”-因此您不必担心这些:)出于好奇,如果您不指定
-Server
参数,会发生什么?如果问题在于复制数据的陈旧性,并且DCs之间的网络连接不是问题,然后,显而易见的解决方案是降低AD中的站点间复制延迟并查看站点链接。AD cmdlet会自动选择当前站点中的域控制器。可能类似于
Get-ADDomainController-Discover-NextClosestSite-ForceDiscover的帮助。值得注意的是
Get-ADDomainController-Discover
反过来,会导致调用
netapi32.dll
,此时机器上的
netlogon
服务将进行站点感知DC发现,并在返回DC之前执行所谓的“LDAP Ping”-因此您不必担心这些:)出于好奇,如果不指定
-Server
参数,会发生什么情况?如果问题在于复制数据的陈旧性,并且DCs之间的网络连接不是问题,那么显而易见的解决方案是降低AD中的站点间复制延迟并检查站点链接