2015-11-11 57 views
1

我在林中有多個域,我試圖編寫一個腳本,它可以與林中的任何用戶一起工作,所以我在我的腳本中使用全局編錄。本工程以檢索數據,但是當我嘗試和修改數據我得到在PowerShell中使用全局編錄

Set-ADUser : The server is unwilling to process the request 

如果我使用DC作爲修改完成,因爲它應該的服務器名稱。我想避免寫一個開關來設置服務器名稱,我還有什麼可以做的嗎?

Get-ADUser $user -Server "contoso.local:3268" | %{Set-ADUser -Identity $_.distinguishedname -SamAccountName $_.SamAccountName -Server "contoso.local:3268"} 

回答

3

我不是很清楚你要在這裏做什麼,全局編錄端口是隻讀的(對於LDAP)。

如果你想確保你會發現這是一個全局編錄的域控制器,可以使用以下方法:基於您的評論,maybe what you need is $PSDefaultParameterValues

Get-ADDomainController -Discover -Service GlobalCatalog 

$PSDefaultParameterValues = @{ 
    "*-AD*:Server" = "contoso.local:3268" 
} 

Get-ADUser $user | 
%{Set-ADUser -Identity $_.distinguishedname -SamAccountName $_.SamAccountName } 
+0

這對Set-Aduser部分是有意義的。我試圖做的不是創建一個開關來設置服務器參數。如果我在使用set-aduser時未指定-server,那麼它會假設我試圖修改域中的用戶,有時這是真的,但其他域中將有用戶。 – JoeRod

+0

@JoeRod編輯;看看是否有幫助。 – briantist

+0

可能過早發言,幾乎所有建議將GC設置爲默認服務器,但我仍然收到相同的錯誤。 – JoeRod