2

Active Directory のユーザーを C# のカスタム グループに追加する次のメソッドを作成しています。「SHO Users」という名前の OU と「SHO Sharepoint User」という名前のサブ OU があります。すべてのユーザーはサブ OU に保存されます。最初の「SHO Users」の下に「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 に答える