C#将LDAP用户添加到组

时间:2014-01-06 20:24:34

标签: c# ldap directoryentry

我正在编写以下方法,将活动目录中的用户添加到C#中的自定义组。 我有一个名为" SHO用户"和一个名为" SHO Sharepoint User" 我的所有用户都保存在sub-ou下。 我确实有一个小组在第一个" SHO用户"命名为#34;测试GRP"。 我需要将一些用户添加到"测试GRP"使用以下代码组但没有运气。 我真的很感激任何帮助。 感谢

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

    }
}

protected void btnAdd_Click(object sender, EventArgs e)
{
string UserId = txtFirstname.Text + " " + txtLastname.Text;
AddToGroup("CN=" + UserId + ",OU=SHO Sharepoint User,OU=SHO Users,dc=test,dc=com", "CN=Test GRP,CN=Groups,DC=test,DC=com");
}

1 个答案:

答案 0 :(得分:1)

尝试此功能:

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();

    }
}

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

相关问题