2

我正在编写以下方法将活动目录上的用户添加到 C# 中的自定义组。我有一个名为“SHO Users”的 OU 和一个名为“SHO Sharepoint User”的子 ou 我所有的用户都保存在子 ou 下。我在第一个“SHO 用户”下有一个名为“Test GRP”的组。我需要使用以下代码将一些用户添加到“Test 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");
}
4

1 回答 1

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工具。只需选择您感兴趣的对象并从顶部栏中复制地址即可。

于 2014-01-06T21:32:44.813 回答