Active-Directory

如何為所有 PowerShell AD cmdlet 設置預設域控制器?

  • March 2, 2022

模組中的所有 PowerShell cmdlet 都支持使用該參數ActiveDirectory針對特定域控制器執行;-server但是有什麼方法可以設置預設 DC 以用於所有與 AD 相關的操作,或者如果我真的關心我使用的是哪個 DC(在涉及複製延遲時很常見),我是否需要在每個命令上指定它)?

如果您使用的是 PowerShell 版本 3,則可以使用新的自動變數 $PSDefaultParameterValues 為 AD 模組 cmdlet 上的伺服器參數設置預設值。你可以跑

Get-Help about_Parameters_Default_Values

有關此變數的更多詳細資訊。

在您的特定情況下,您可以像這樣設置變數:

$PSDefaultParameterValues = @{"*-AD*:Server"='YOUR-CHOSEN-DC'}

另一個適用於版本 2 或 3 的選項是使用 AD 模組的提供程序來創建新的 PSDrive。

預設情況下,當您導入 AD 模組時,它會創建一個連接到本地域的“AD:”PSDrive。您可以使用同一提供程序創建新的 PSDrive,指定您要連接的特定域控制器。然後,當您從該 PSDrive 的上下文中執行 AD cmdlet 時,它們將使用該連接。您可以像這樣創建一個新的 PSDrive:

New-PSDrive -Name <name of the drive> -PSProvider ActiveDirectory -Root "<DN of the partition/NC>" –Server <server or domain name (NetBIOS/FQDN)[:port number]> -Credential <domain name>\<username>

然後cd <name of drive>:,當您執行 cmdlet 時,它們將使用您在 New-PSDrive cmdlet 中指定的域控制器。

引用自:https://serverfault.com/questions/527545