2011-11-27 65 views
3

可能重复:
How can I get DOMAIN\USER from an AD DirectoryEntry?确定用户的域在Active Directory搜索结果

这是我现在所拥有的:

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(将参数传入表示要搜索的组名称的方法in)可以是通用组,这意味着它可能包含来自其他域的帐户。

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

+0

你指的是哪个集合?我在代码中看不到任何对“searchpropertycollection”的引用。 –

+0

它被称为searchresultcollection。我很抱歉。另外@joshperry,这个问题没有出现在建议列表中。问题的内容不完全相同,但其中一个答案确实回答了我的问题。谢谢。 – deutschZuid

+0

但是,属性列表仍然很好:D – deutschZuid

回答

2

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

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

基础上DN可以计算出该用户来自的域(DC=YourMegaCorp,DC=com)。我不认为有任何其他(默认)AD属性会给你只是域 - 但你需要“裂解和解析”该DN来获得你需要的信息。

相关问题