【问题标题】:How to use domain controller in Server parameter如何在服务器参数中使用域控制器
【发布时间】:2019-09-12 12:30:02
【问题描述】:

使用 PowerShell 脚本,我使用 Get-ADDomainController 命令获得了一个有效的主机名,如下所示:

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

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

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

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

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

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

【问题讨论】:

  • 如果$domainController是一个集合,那么你可以通过索引访问第一个成员:$domainController[0]

标签: powershell active-directory


【解决方案1】:

因此,在进行网络冗余时很重要。如果域控制器出现故障,则没有人能够进行身份验证。许多应用程序使用 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 

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

【讨论】:

  • 非常感谢您的回答解决了我的问题。我也期待这个对象是一个数组,即使它只有一个域。
  • 谢谢阿德里安 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多