Извлечение столбцов из окна поиска Active Directory (окно поиска «Найти пользователя, контакты и группы») - PullRequest
0 голосов
/ 07 февраля 2012

Я хотел бы получить и перечислить (мне все равно, где, в DataTable, текстовом поле и т. Д.) Все столбцы и имя свойства окна поиска Active Directory (имя столбца, например, Имя, Имя, Фамилияи т. д.)

Я думаю, что сборка DirectorySearcher может этого добиться, но все примеры, которые я нахожу, являются примерами с уже известными полями и свойствами.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Active Directory - это служба каталогов, основанная на LDAP.Чтобы запросить каталог, вы должны знать имена свойств.Вот довольно обширный список, который вы можете использовать

1 голос
/ 07 февраля 2012

Если вы используете .NET 3.5 и выше, вы можете использовать PrincipalSearcher и принцип «запрос по примеру» для выполнения поиска:

// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// define a "query-by-example" principal - here, we search for a UserPrincipal 
UserPrincipal qbeUser = new UserPrincipal(ctx);

// create your principal searcher passing in the QBE principal    
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);

// find all matches
foreach(var found in srch.FindAll())
{
    // do whatever here - "found" is of type "Principal" - it could be user, group, computer.....          
    string firstname = found.GivenName;
    string familyname = found.Surname;
    // and so on
}

Если вы этого не сделалиуже - абсолютно прочитайте статью MSDN Управление принципами безопасности каталогов в .NET Framework 3.5 , которая показывает, как наилучшим образом использовать новые функции в System.DirectoryServices.AccountManagement

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...