Получить всех пользователей из домена AD - PullRequest
2 голосов
/ 09 сентября 2010

У меня должна быть возможность идентифицировать всех пользователей в моем домене AD (Active Directory).У меня есть доменное имя, и это о нем.Было бы здорово, если бы я мог получить его в виде списка UserPrincipal или чего-то еще, но если бы это была просто строка, я мог бы получить оттуда остальную информацию, которая мне нужна.

Ответы [ 3 ]

5 голосов
/ 09 сентября 2010

Если вам просто нужно получить список пользователей, вы можете использовать этот код -

var dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}", "x.y.com", "DC=x,DC=y,DC=com"));
var searcher = new DirectorySearcher(dirEntry)
         {
             Filter = "(&(&(objectClass=user)(objectClass=person)))"
         };
var resultCollection = searcher.FindAll();

Однако, если вам нужно больше операций с AD, вам следует рассмотреть возможность использования LINQ to AD API http://linqtoad.codeplex.com/

Это API на основе Linq для работы с AD.Прост в использовании, и у меня есть хорошие результаты.

5 голосов
/ 09 сентября 2010

посмотрите на эту статью: Как: (почти) все в Active Directory через C #

2 голосов
/ 09 сентября 2010

Я думаю, вы можете использовать что-то вроде этого:

DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com");
foreach (DirectoryEntry child in domain.Children)
{
    // code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...