我用下面的代碼來搜索全局編錄:現在如何搜索全局目錄並返回UserPrincipals的列表?
public SearchResultCollection SearchGlobalCatalog(string username)
{
var de = new DirectoryEntry("GC://SERVERNAME", "USERNAME", "PASSWORD");
var ds = new DirectorySearcher(de);
ds.Filter = "(&((&(objectCategory=Person)(objectClass=User)))(samaccountname=" + username + "*))";
ds.SearchScope = SearchScope.Subtree;
var searchResults = ds.FindAll();
return searchResults;
}
,問題是我不知道如何從SearchResultCollection
獲得UserPrincipal
對象的列表。我想這樣做的原因是爲了訪問全局編錄中不可用的某些用戶屬性,如員工編號。
爲什麼僱員ID不可用?它存儲在哪裏? –
因爲並非所有屬性都被複制到全局編錄中。通過使用具有域的ContextType的PrincipalContext搜索Active Directory,我可以獲得Employee ID。但是,我不知道如何通過搜索全局編錄來訪問這些附加屬性。 – ataravati