使用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转换为字符串
您能否就如何将该值转换为字符串提供任何见解?
因此,在进行网络冗余时,这是一个大问题。如果域控制器出现故障,则没有人能够进行身份验证。许多应用程序使用 AD 进行身份验证和权限(通常基于组(,这将使许多应用程序无法使用。
让我们来看看Microsoft对Get-AdDomainController的看法。
此行突出"获取一个或多个活动目录域控制器">
这听起来像是它将返回Microsoft.ActiveDirectory.Management.ADDomainController对象的集合。
因此,有几种方法可以获得单个域
$domainController = get-addomaincontroller -DomainName 'mydomain.local' -Discover) | Select hostname -first 1;
或
($domainController = get-addomaincontroller -DomainName 'mydomain.local' -Discover)[0].Hostname
还有更多方法,但我希望这对:)有所帮助