C # - Wyszukiwanie użytkowników w wielu domenach Active Directory
Używam System.DirectoryServices.AccountManagement, aby zapewnić funkcjonalność wyszukiwania użytkowników.
Firma ma kilka domen AD specyficznych dla regionu: AMR, EUR, JPN itp.
Poniższe działa w domenie EUR, ale nie zwraca użytkowników z innych domen (naturalnie):
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();
Jeśli jednak celuję w cały katalog, nie zwraca on użytkownikówkażdy domen specyficznych dla regionu:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=mycorp,DC=com");
Jak przeszukać cały katalog?
Aktualizacja
Przeczytaj „Jak działają wyszukiwania w Active Directory”:
http://technet.microsoft.com/en-us/library/cc755809(v=ws.10).aspx
Jeśli uzupełnię nazwę serwera portem 3268, przeszukuje on katalog globalny:
var context = new PrincipalContext(ContextType.Domain, "mycorp.com:3268", "DC=mycorp,DC=com");
Jest jednak bardzo, bardzo powolny. Wszelkie sugestie dotyczące poprawy wydajności?