我使用以下代码搜索全局目录:
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;
}
现在,问题是我不知道如何UserPrincipal
从SearchResultCollection
. 我想这样做的原因是为了访问全局目录中不可用的一些用户属性,例如员工 ID。