繁体   English   中英

如何将另一个域的用户添加到本地域组?

[英]How to add a user from another domain to a local domain group?

使用 C# 我想将一个用户从一个域添加到本地域。 这些域具有双向信任。 目前我收到错误

“找不到与指定参数匹配的主体。” 在.Save() 行。

我有用户的 DN(例如“CN=Adams, Sam,OU=Beer, DC=Drinkers,DC=local”)。

这些团体类似于 CN=Drunks、OU=Groups、DC=Bars、DC=local。

当它是同一个域时这有效,但是当它是跨域时就是我收到错误的时候。 我使用的用户帐户在本地具有管理员权限,在其他域中具有读取权限。

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, m_AD_connection.Domain, m_AD_connection.Path, ContextOptions.Negotiate, m_AD_connection.UserName, m_AD_connection.Password))
{
    GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, GroupName);
    if (group != null)
    {
        group.Members.Add(pc, IdentityType.DistinguishedName, DN);
        group.Save();
        return true;
    }
    else
        return false;
}

关于我需要做什么的任何建议?

您的问题在这一行:

group.Members.Add(pc, IdentityType.DistinguishedName, DN);

context参数应该是查找用户而不是组所需的上下文。 因此,您需要为第二个域创建一个新的PrincipalContext并将其传递给Add() 例如:

var drinkersPc = new PrincipalContext(ContextType.Domain, "drinkers.local");
group.Members.Add(drinkersPc, IdentityType.DistinguishedName, DN);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM