C# C将LDAP用户添加到组

C# C将LDAP用户添加到组,c#,ldap,directoryentry,C#,Ldap,Directoryentry,我正在编写以下方法将active directory上的用户添加到C中的自定义组。 我有一个名为SHO用户的OU和一个名为SHO Sharepoint用户的子OU 我的所有用户都保存在sub ou下。 我在第一个ou SHO用户下有一个名为Test GRP的组。 我需要用下面的代码添加一些用户来测试GRP组,但是运气不好。 我非常感谢你的帮助。 谢谢 尝试此功能: public void AddToGroup(string userDn, string groupDn) { try

我正在编写以下方法将active directory上的用户添加到C中的自定义组。 我有一个名为SHO用户的OU和一个名为SHO Sharepoint用户的子OU 我的所有用户都保存在sub ou下。 我在第一个ou SHO用户下有一个名为Test GRP的组。 我需要用下面的代码添加一些用户来测试GRP组,但是运气不好。 我非常感谢你的帮助。 谢谢

尝试此功能:

public void AddToGroup(string userDn, string groupDn)
{
    try
    {
        DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
        dirEntry.Invoke("Add", new object[] { userDn });
        dirEntry.CommitChanges();
        dirEntry.Close();
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //doSomething with E.Message.ToString();

    }
}

要检查连接字符串是否正确,可以使用该工具。只需选择您感兴趣的对象并从顶部栏复制地址。

如果您在.Net 3.5上,则应使用System.DirectoryServices.AccountManagement命名空间。不幸的是,我不在.Net 3.5上,我想我别无选择,只能使用directoryentry功能运行此功能的帐户是否具有向其添加成员的权限团体?据我回忆,使用DirectoryEntries在这一点上非常敏感。您需要确保应用程序池标识具有此域权限,或者您需要将调用包装在一个用户的模拟上下文中,该用户认为我确实具有执行此操作的适当权限,因为我也在添加用户,并且工作正常。代码块中是否有注释掉的异常?仍然不工作。你能看看我的LDAP字符串吗。我可能做错了什么。如果运行应用程序的计算机不在域中,则需要在连接字符串中添加LDAP服务器:LDAP://server/…我的web服务器已加入域,我的web.config上有以下内容:
public void AddToGroup(string userDn, string groupDn)
{
    try
    {
        DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
        dirEntry.Invoke("Add", new object[] { userDn });
        dirEntry.CommitChanges();
        dirEntry.Close();
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //doSomething with E.Message.ToString();

    }
}