myUserList AppUsers = new myUserList();
using (PrincipalContext pcxt = new PrincipalContext(ContextType.Domain, domainName))
{
UserPrincipal User = new UserPrincipal(pcxt);
User.EmailAddress = emailString;
PrincipalSearcher srch = new PrincipalSearcher(User);
foreach (var principal in srch.FindAll())
{
var p = (UserPrincipal)principal;
myUserRow User = AppUsers.NewUsersRow();
User.FirstName = p.GivenName;
User.LastName = p.Surname;
User.Email = p.EmailAddress;
AppUsers.AddUsersRow(User);
}
}
У меня есть код, аналогичный приведенному выше, который ищет в Active Directory информацию о пользователе, используя класс PrincipalContext.
Как видите, я передаю имя домена во время поиска. Как я могу изменить этот кусок кода, чтобы вместо этого искать во всем лесу (т.е. в глобальном каталоге), но по-прежнему использовать класс PrincipalContext?
Кажется, я не могу найти рабочий пример, который использует класс PrincipalContext для поиска в глобальном каталоге.
Я видел этот пост Как искать пользователей в глобальном каталоге в лесу AD с несколькими деревьями, но плакат, похоже, предполагает, что они не нашли решения, использующего класс PrincipalContext, им пришлось вернуться к DirectorySearcher.
Есть ли пример кода класса PrincipalContext, демонстрирующий поиск по всему лесу (глобальный каталог)?