2

したがって、私の目標は、ある Active Directory ドメインから別の Active Directory ドメイン内の別のグループにユーザーを追加できるようにすることです。

これをC#でやりたいです。AD と通信するためのクラスを含む System.DirectoryServices 名前空間があることは知っていますが、ドメイン間でのユーザーの追加に関する情報は見つかりません。

この環境には、同じ親フォレストを持つ 2 つのドメイン コントローラーがあります。2 つのドメイン間には一時的な信頼があります。ドメイン A と B と呼びましょう。

Active Directory ツールを使用して、B からドメイン A 内のドメイン ローカルまたはユニバーサル グループにユーザーを追加できます。

C#を使用してプログラムでこれを行う方法を知っている人はいますか?

4

2 に答える 2

1

数年前にこれを行うためのコードを書いたとき、私にとってうまくいったこと:

  1. メンバーを追加するグループの DirectoryEntry を取得します。
  2. グループ DirectoryEntry で Invoke を呼び出し、引数「Add」をメソッド名として渡し、配列内のメンバーのADsPathを渡します。

私の頭の上からいくつかのサンプルコード:

DirectoryEntry group = new DirectoryEntry(@"LDAP://CN=foo,DC=domainA");
string memberADsPath = @"LDAP://CN=bar,DC=domainB";
group.Invoke("Add", new Object[] {memberADsPath});
于 2008-12-25T03:59:22.910 に答える
0

グループに DirectoryEntry オブジェクトを作成する必要があります。次に、グループに追加するユーザーの DN をグループの member 属性に追加します。例えば:

DirectoryEntry group = new DirectoryEntry("LDAP://child.domain.com/cn=group,ou=sample,dc=child,dc=domain,dc=com");

string userDN = "cn=user,ou=sample,dc=domain,dc=com";

group.Properties["member"].Add(userDN);
group.CommitChanges();

おそらく、グループ DirectoryEntry へのバインドに問題があるでしょう。グループを追加して正常にバインドする前に、その DE から属性を読み取れることを確認してください。

于 2008-12-27T07:53:59.080 に答える