You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一AD林中跨域添加用户到组失败:PowerShell执行报错求助

跨域添加AD用户到组的报错解决方法

问题原因

你用$ADUser.UserPrincipalName作为成员标识传递给Add-ADGroupMember时,连接到xx.test.com域的服务器无法在自身域范围内定位到yy.test.com域的用户对象,因此触发报错。

可行解决方案

方案1:使用用户的DistinguishedName(推荐)

AD用户的DistinguishedName是林内唯一标识,全局编录可直接解析跨域对象,读取用户后直接传递该属性即可:

$ADUser = Get-ADUser -Server "DC1.yy.test.com" -Filter "SamAccountName -eq '$UPN'"
Add-ADGroupMember -Identity $GroupName -Members $ADUser.DistinguishedName -Server "DC2.xx.test.com:3269"

注:无需读取Properties *,DistinguishedName是Get-ADUser默认返回的属性,减少不必要的属性读取能提升效率

方案2:直接传递AD用户对象

如果你的PowerShell会话拥有跨域访问权限,可直接将获取到的$ADUser对象传入命令,无需提取单独属性:

$ADUser = Get-ADUser -Server "DC1.yy.test.com" -Filter "SamAccountName -eq '$UPN'"
Add-ADGroupMember -Identity $GroupName -Members $ADUser -Server "DC2.xx.test.com:3269"

方案3:使用用户的SID

SID在AD林中全局唯一,同样可作为跨域对象的有效标识:

$ADUser = Get-ADUser -Server "DC1.yy.test.com" -Filter "SamAccountName -eq '$UPN'"
Add-ADGroupMember -Identity $GroupName -Members $ADUser.SID -Server "DC2.xx.test.com:3269"

额外注意事项

  • 执行命令的账号需同时拥有yy.test.com域的用户读取权限和xx.test.com域的组修改权限
  • 确认DC2.xx.test.com已配置全局编录角色,且3269端口连接正常
  • 避免滥用Properties *,仅读取必要属性可优化命令执行速度

内容的提问来源于stack exchange,提问作者Konstantin Kostromin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:07:44