Как получить GUID пользователя из Active Directory по протоколу WinNT? - PullRequest
1 голос
/ 06 мая 2009

Я пытаюсь получить GUID пользователя из Active Directory. Мой код:

DirectoryEntry entry = new DirectoryEntry("WinNT://DOMAIN/UserName");
Console.WriteLine("The GUID of the ADS object:" + entry.Guid);
Console.WriteLine("The Native GUID of the ADS object:" + entry.NativeGuid);

Приведенный выше код всегда возвращает d83f1060-1e71-11cf-b1f3-02608c9e7553 независимо от пользователя и домена.

Можно ли получить GUID пользователя по протоколу WinNT?

Ответы [ 2 ]

4 голосов
/ 06 мая 2009

Посетите Hilltop Lab Ричарда Мюллера, где у него много электронных таблиц, показывающих все свойства, предоставляемые различными поставщиками. В частности, его список свойств, которые предоставляет поставщик WinNT, показывает, что не существует таких вещей, как «GUID» или OID пользователя или что-то подобное.

Имейте в виду - поставщик WinNT используется только для обратной совместимости и действительно хорошо работает только с учетными записями локальных компьютеров.

Если вы хотите получить доступ к учетным записям DOMAIN, вам следует во что бы то ни стало использовать провайдера LDAP - он предоставит вам доступ ко всем свойствам LDAP в учетной записи пользователя.

Марк

0 голосов
/ 28 мая 2009

Возможно, вы имеете в виду SID (идентификатор безопасности). Как и GUID, он уникален, по крайней мере, для дерева доменов. Я думаю, что это свойство "objectSid". Это двоичный файл (байт []). Я не могу вспомнить, насколько он велик (28 байт?), Но я уверен, что это не GUID.

...