所以我的目标是能够将用户从一个Active Directory域添加到另一个Active Directory域中的另一个组。
我想在C#中这样做。我知道有一个System.DirectoryServices命名空间,其中包含与AD通信的类,但我找不到有关跨域添加用户的任何信息。
在环境中有两个具有相同父林的域控制器。两个域之间存在暂时信任,我们称之为域A和域B.
我可以使用Active Directory工具将用户从B添加到域A内的域本地或通用组。
有谁知道如何使用C#以编程方式执行此操作?
答案 0 :(得分:1)
几年前我编写代码时,对我有用的是什么:
一些示例代码在我的头顶:
DirectoryEntry group = new DirectoryEntry(@"LDAP://CN=foo,DC=domainA");
string memberADsPath = @"LDAP://CN=bar,DC=domainB";
group.Invoke("Add", new Object[] {memberADsPath});
答案 1 :(得分:0)
您需要为Group创建DirectoryEntry对象。然后,将要添加到组中的用户的DN添加到组中的成员属性。例如:
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的属性,以确保成功绑定。