2011-11-27 67 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來獲得你需要的信息。

相關問題