Como pesquisar em vários domínios usando System.DirectoryServices.AccountManagement?
Eu tenho três ou mais domínios comomain.com
, sub.main.com
, sub2.main.com
e etc
Eu tenho um código:
<code>using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "ADServer", "dc=main,dc=com", ContextOptions.Negotiate)) { UserPrincipal u = new UserPrincipal(ctx); u.UserPrincipalName = "*" + mask + "*"; using (PrincipalSearcher ps = new PrincipalSearcher(u)) { PrincipalSearchResult<Principal> results = ps.FindAll(); List<ADUser> lst = new List<ADUser>(); foreach (var item in results.Cast<UserPrincipal>().Take(15)) { byte[] sid = new byte[item.Sid.BinaryLength]; item.Sid.GetBinaryForm(sid, 0); ADUser us = new ADUser() { Sid = sid, Account = item.SamAccountName, FullName = item.DisplayName }; lst.Add(us); } } return lst; } </code>
Mas ele pesquisa em apenas um domínio:main.com
.
Como posso pesquisar registros em todos os domínios ao mesmo tempo?