Pesquisando usuários em vários domínios do Active Directory

Eu estou usando o System.DirectoryServices.AccountManagement para fornecer a funcionalidade de pesquisa do usuário.

A empresa tem vários domínios do AD específicos da região: AMR, EUR, JPN etc.

O seguinte funciona para o domínio EUR, mas não retorna usuários de outros domínios (naturalmente):

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();

No entanto, se eu segmentar o diretório inteiro, ele não retornará os usuáriosqualquer dos domínios específicos da região:

var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=mycorp,DC=com");

Como pesquiso o diretório inteiro?

Atualizar

Leia em "Como as pesquisas do Active Directory funcionam":

http://technet.microsoft.com/en-us/library/cc755809(v=ws.10).aspx

Se eu sufixo o nome do servidor com a porta 3268, ele pesquisa no Catálogo Global:

var context = new PrincipalContext(ContextType.Domain, "mycorp.com:3268", "DC=mycorp,DC=com");

No entanto, é muito, muito lento. Alguma sugestão sobre como melhorar o desempenho?

questionAnswers(1)

yourAnswerToTheQuestion