我在这个论坛的帮助下写了下面的脚本(谢谢你)。
我要做的是在每个GC副本上查找用户,并且一旦找到将该服务器名称写入Set-adserversetting -preferredserver
选项。
我唯一能解决的问题是如何在第一次成功写入值后停止它。它遍历每个GC并依次为每个GC设置值。
有没有人有任何想法?
我已经输入了一些用于测试的写主机命令,但一旦解决它就会被删除。
Import-module ActiveDirectory
Get-PSSession | Remove-PSSession
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $ConnectionURI -Authentication kerberos
Import-PSSession $Session -AllowClobber -warningaction silentlycontinue| Out-Null
$GCs = get-addomaincontroller -filter {isglobalcatalog -eq $true}
foreach ($GC in $GCs)
{
$GCendpoint = "{0}:3268" -f $GC.HostName
$SearchResult = Get-ADUser -LDAPFilter "(&(samaccountname=$ADUserName))" -Server $GCendpoint -searchbase $ADdomainDN -ErrorAction SilentlyContinue
if(@($SearchResult).Count -gt 0){
$ADServer = $GC.hostname
write-host $ADServer
Set-ADServerSettings -Preferredserver $adserver
$AD = Get-adserversettings
$Ads = $AD|select userpreferredglobalcatalog
Write-host "Preferred Server - $ADs"
}
}