确定Active Directory搜索结果中的用户域

时间:2011-11-27 22:19:56

标签: c# active-directory

  

可能重复:
  How can I get DOMAIN\USER from an AD DirectoryEntry?

这就是我现在所拥有的:

DirectoryEntry de = new DirectoryEntry("LDAP://" + domain);
SearchResult result;
DirectorySearcher search = new DirectorySearcher(de);
search.Filter = String.Format("(cn={0})", groupName);
search.PropertiesToLoad.Add("member");
result = search.FindOne();

请注意,groupName(传递给表示要搜索的组名称的方法的参数)可以是通用组,这意味着它可能包含来自其他域的帐户。

我应该使用searchresultcollection中的哪个属性来查找帐户所源自的域,或者更好的是是否有一个网页包含此特定集合可用的所有属性的列表?

1 个答案:

答案 0 :(得分:2)

任何AD对象的distinguishedName属性应始终包含该对象的完整LDAP兼容路径,例如

CN=John Doe,OU=Marketing,OU=IntlSales,DC=YourMegaCorp,DC=com

根据该DN,您可以找出该用户来自的域(DC=YourMegaCorp,DC=com)。我不认为有任何其他(默认)AD属性可以为您提供域名,但是 - 您需要“破解并解析”该DN以获取所需信息。