Rob*_*gan 11 c# active-directory
我正在使用System.DirectoryServices.AccountManagement来提供用户查找功能.
该业务有几个地区特定的AD域:AMR,EUR,JPN等.
以下适用于EUR域,但不会返回其他域中的用户(自然):
var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=eur,DC=mycorp,DC=com");
var query = new UserPrincipal(GetContext());
query.Name = "*Bloggs*";
var users = new PrincipalSearcher(query).FindAll().ToList();
Run Code Online (Sandbox Code Playgroud)
但是,如果我定位整个目录,它不会从任何特定于区域的域返回用户:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=mycorp,DC=com");
Run Code Online (Sandbox Code Playgroud)
如何搜索整个目录?
更新
阅读"Active Directory搜索的工作原理":
http://technet.microsoft.com/en-us/library/cc755809(v=ws.10).aspx
如果我使用端口3268后缀服务器名称,则会搜索全局编录:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com:3268", "DC=mycorp,DC=com");
Run Code Online (Sandbox Code Playgroud)
然而,它非常非常慢.有关如何提高绩效的任何建议?