首页 > 解决方案 > 如何在服务器参数中使用域控制器

问题描述

使用 PowerShell 脚本,我使用以下Get-ADDomainController命令获取有效的主机名:

$domainController = (Get-ADDomainController -DomainName 'mydomain.local' -Discover).hostname;

在定义了我的凭据之后,我想在我的Get-ADUser命令的 Server 参数中使用检索到的主机名:

$User = Get-ADUser -Identity 'accountName' -Server $domainController -Credential $mycred;

但是,代码失败,提示的错误如下所示:

无法将 Microsoft.ActiveDirectory.Management.ADPropertyValueCollection 转换为字符串

您能否就如何将该值转换为字符串提供任何见解?

标签: powershellactive-directory

解决方案


因此,在进行网络冗余时很重要。如果域控制器出现故障,则没有人能够进行身份验证。许多应用程序使用 AD 进行身份验证和许可(通常基于组),这会使许多应用程序无法使用。

让我们看看微软对Get-AdDomainController 的看法

此行突出显示“获取一个或多个 Active Directory 域控制器”

这听起来像是将返回Microsoft.ActiveDirectory.Management.ADDomainController对象的集合。

所以有几种方法可以获得单个域

$domainController = get-addomaincontroller -DomainName 'mydomain.local' -Discover) | Select hostname -first 1;

或者

($domainController = get-addomaincontroller -DomainName 'mydomain.local' -Discover)[0].Hostname 

还有更多方法,但我希望这会有所帮助:)


推荐阅读