Получение пользователей из группы Active Directory - PullRequest
2 голосов
/ 07 июля 2011

Я часами колотил головой, пытаясь понять, почему это не сработает.Я нашел пример получения списка пользователей из группы AD, но не могу заставить его работать.Вот что я пытался сделать:

DirectoryEntry de = new DirectoryEntry("LDAP://DC=" + domain + ",DC=com");

DirectorySearcher ds = new DirectorySearcher(de);//, "(objectClass=person)");

ds.Filter = "(&(objectCategory=person)(objectclass=user)(memberOf=CN=!CityNameGroup))"; 

ds.PropertiesToLoad.Add("givenname");
ds.PropertiesToLoad.Add("samaccountname");
ds.PropertiesToLoad.Add("sn");
ds.PropertiesToLoad.Add("useraccountcontrol");

foreach (SearchResult sr in ds.FindAll())
{//stuff goes here}

, но ds.FindAll всегда возвращает 0 результатов с этим фильтром.Я могу сделать более простые фильтры, которые возвращают результаты, но я никогда ничего не получу от вышеуказанного фильтра.Я просто хочу, чтобы все мои пользователи были в! CityNameGroup.Я ценю помощь!

1 Ответ

3 голосов
/ 07 июля 2011

Если вариант .NET 3.5, перестаньте стучать головой и посмотрите здесь:

Все в Active Directory через C # .NET 3.5 (с использованием System.DirectoryServices.AccountManagement)

Серьезно, обработка AD в .NET 3.5 - это другой мир. Это изменит все. В лучшую сторону, конечно.

Обновление

Также здесь есть готовый ответ ( Членство в группах пользователей Active Directory GroupPrincipal ). У меня будет порядочность не копировать это. :)

Использует .NET 3.5, BTW.

...