powershell - 如何在服务器参数中使用域控制器
问题描述
使用 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 转换为字符串
您能否就如何将该值转换为字符串提供任何见解?
解决方案
因此,在进行网络冗余时很重要。如果域控制器出现故障,则没有人能够进行身份验证。许多应用程序使用 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
还有更多方法,但我希望这会有所帮助:)
推荐阅读
- firebase - 如何在 ionic android 应用程序中启用 Firebase 通知
- swift - 如何在 Swift 中将基本的初始数据和唯一数据加载到 Core Data?
- c# - 如何以编程方式退出 Xamarin Forms 应用程序而不让它在第二个计划上运行?
- javascript - 防止在单击按钮时提交表单时重新加载页面
- java - 在 poi-4.0.1 中找不到符号变量 Cell.CELL_TYPE_STRING
- automation - Opereto 可以安装在任何云原生环境中吗?
- sql - 尝试分析两个时间间隔 - 我的 WHERE 子查询返回太多行
- java - Spring Security + Thymeleaf - 如果未通过身份验证,则对用户隐藏特定数据
- wordpress - Wordpress 网站被克隆到新域,但重定向到旧域
- sql-server - SQL cmdshell 执行 putty 命令