Mam trzy lub więcej domen jak main.com
, sub.main.com
, sub2.main.com
i etcJak wyszukiwać w wielu domenach za pomocą System.DirectoryServices.AccountManagement?
mam kod:
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;
}
Ale to wyszukuje w ciągu tylko jednej domeny: main.com
.
Jak mogę przeszukiwać rekordy we wszystkich domenach jednocześnie?
nie sądzę możesz wyszukiwać w wielu domenach jednocześnie. Musisz "serializować" swoje wyszukiwania. –
masz na myśli to, że muszę znać domeny i przeszukiwać je cyklicznie? –