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

跨域添加AD组成员失败求助:DomainA用户无法加入DomainB组

解决跨域AD组添加成员的问题

问题原因

你遇到的ADIdentityNotFoundException错误,核心原因是单向信任的限制:Domain A不信任Domain B,这意味着Domain B的域控制器(DC)无法主动查询Domain A的AD对象信息。虽然Domain B信任A(允许A的用户在B域认证),但B的AD默认不会跨域去A的目录里查找用户DomainA\User1,所以在B域的上下文里找不到这个对象。

解决方案

要解决这个问题,你需要让命令明确从Domain A的AD中获取用户对象,或者使用跨域唯一的用户标识符(SID)来指定成员。以下是两种可行的方法:

方法1:使用用户SID添加

SID是Active Directory中跨域唯一的身份标识,Domain B的AD可以直接识别并验证它。

  1. 先获取DomainA\User1的SID:
    在能访问Domain A DC的机器上(或者当前Domain B机器如果能连通A的DC)执行:

    Get-ADUser -Identity User1 -Server DomainA.com -Credential DomainA\User1 | Select-Object SID
    

    复制输出的SID(比如S-1-5-21-123456789-1234567890-1234567890-1101)。

  2. 使用SID添加到Domain B的组:
    确保你使用的凭据有修改GroupOnDomainB的权限(建议用Domain B本地的管理员或有权限的用户):

    Add-ADGroupMember -Identity GroupOnDomainB -Members S-1-5-21-123456789-1234567890-1234567890-1101 -Credential DomainB\YourAdminUser
    

方法2:指定Domain A的DC来解析用户对象

直接在Add-ADGroupMember命令中指定Domain A的服务器,让命令从A的AD中获取用户对象:

Add-ADGroupMember -Identity GroupOnDomainB -Members DomainA\User1 -Server DomainA.com -Credential DomainA\User1

注意:这里的-Credential需要是Domain A中有权限读取用户信息的账号,同时执行命令的上下文需要能连通Domain A的DC。另外,确保Domain A的用户User1(或者你用的凭据账号)在Domain B中拥有修改GroupOnDomainB组的权限,否则会遇到权限错误。

后续脚本优化建议

当你编写CSV批量导入脚本时,可以在脚本中先批量获取Domain A用户的SID(或完整DN),再用这些标识去添加到Domain B的组里。这样可以避免每次添加时都跨域查询,也能解决单向信任下的对象识别问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:26:32