C # - Búsqueda de usuarios en múltiples dominios de Active Directory
Estoy usando System.DirectoryServices.AccountManagement para proporcionar la funcionalidad de búsqueda de usuarios.
El negocio tiene varios dominios de AD específicos de la región: AMR, EUR, JPN, etc.
Lo siguiente funciona para el dominio EUR, pero no devuelve usuarios de los otros dominios (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();
Sin embargo, si me dirijo a todo el directorio, no devuelve usuarios dealguna de los dominios específicos de la región:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=mycorp,DC=com");
¿Cómo busco en todo el directorio?
Actualizar
Lea sobre "Cómo funcionan las búsquedas de Active Directory":
http://technet.microsoft.com/en-us/library/cc755809(v=ws.10).aspx
Si sufijo el nombre del servidor con el puerto 3268, buscará en el Catálogo global:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com:3268", "DC=mycorp,DC=com");
Sin embargo es muy, muy lento. ¿Alguna sugerencia sobre cómo mejorar el rendimiento?