Подключение к Active Directory для получения сведений о пользователе с помощью C # - PullRequest
1 голос
/ 22 апреля 2011

Я нашел статью о получении пользователей из активного каталога из здесь

Так что, возможно, мой код понравится

String strPath = "format of this path";
DirectoryEntry entry = null;
entry = new DirectoryEntry(strPath);

DirectorySearcher mySearcher = new DirectorySearcher(entry);

mySearcher.Filter = ("ObjectCategory=user");

foreach (SearchResult result in mySearcher.FindAll())
{
    String strName = result.GetDirectoryEntry().Name;
    //Do whatever
}

Не могли бы вы объяснить здесь strPath ?? Каков формат этого ??

Примечание: я знаю, что информацию о моем сервере можно получить, используя мой локальный ip "198.168.1.182" для целей тестирования.

Я не уверен, что я думаю правильно.

Пожалуйста, помогите !!!

Ответы [ 2 ]

5 голосов
/ 22 апреля 2011

Поскольку вы работаете в .NET 4, вам определенно следует проверить пространство имен System.DirectoryServices.AccountManagement (S.DS.AM). Читайте все об этом здесь:

Управление принципами безопасности каталогов в .NET Framework 3.5

По сути, вы можете определить контекст домена и легко находить пользователей и / или группы в AD:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find user by name
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "John Doe");

// if we found user - inspect its details
if(user != null)
{
    string firstName = user.GivenName;
    string lastName = user.Surname;
    string email = user.EmailAddress;
    string phone = user.VoiceTelephoneNumber;
}

Новый S.DS.AM позволяет очень легко играть с пользователями и группами в AD:

1 голос
/ 22 апреля 2011

strPath - это URL-адрес LDAP, по которому можно найти дополнительную информацию: http://en.wikipedia.org/wiki/LDAP#LDAP_URLs

Поначалу структура может показаться немного странной, но пример в Википедии дает хорошее краткое изложение.

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