2008-11-24 83 views
2

所以我的目標是能夠將用戶從一個Active Directory域添加到另一個Active Directory域中的另一個組。如何將用戶添加到C#中的其他Active Directory域中?

我想在C#中執行此操作。我知道有一個System.DirectoryServices命名空間的類可與AD通信,但我無法找到有關跨域添加用戶的任何信息。

在環境中有兩個具有相同父林的域控制器。有2個域之間的信任瞬間,讓我們稱之爲結構域A和B.

我能夠從B到A域本地或通用組添加用戶域A的內部與Active Directory工具。

有誰知道我可以如何以編程方式使用C#執行此操作?

回答

1

,當我寫代碼來執行此一對夫婦幾年前什麼工作對我來說:

  1. 找一個DirectoryEntry爲要添加成員的組。
  2. 調用來調用所述組的DirectoryEntry傳遞參數「添加」作爲方法名和在陣列的構件的ADsPath

一些示例代碼從我的頭頂:

DirectoryEntry group = new DirectoryEntry(@"LDAP://CN=foo,DC=domainA"); 
string memberADsPath = @"LDAP://CN=bar,DC=domainB"; 
group.Invoke("Add", new Object[] {memberADsPath}); 
+0

這不工作對我來說,看到http://stackoverflow.com/questions/31984105/add-member-to-ad-group-from-a-trusted-domain。也許如果這兩個域在相同的DC上管理(如果可能的話),但我的域真的是獨立的,只是可信的。我需要用ForeighSecurityPrincipal制定解決方案。 – 2015-08-14 11:37:58

0

你需要創建一個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的屬性,然後再嘗試添加一個組以確保您的綁定成功。

相關問題