Что такое NativeGuid в DirectoryEntry при запросах через провайдера WinNT? - PullRequest
0 голосов
/ 15 мая 2009

Я пишу приложение, которое хочу работать как с Active Directory, так и с локальными пользователями и группами. Я подумал, что мог бы использовать свойство NativeGuid объекта DirectoryEntry в качестве уникального идентификатора, который был получен с помощью поставщика WinNT для LocalHost. Однако, используя следующий код в LinqPad , я получаю один и тот же NativeGuid для обеих записей. Опрос Active Dirctory у поставщика LDAP, похоже, дает уникальные результаты, но теперь я не уверен.

System.DirectoryServices.DirectoryEntry localuserde = 
  new System.DirectoryServices.DirectoryEntry("WinNT://localhost/localuser");
localuserde.NativeGuid.Dump("localUser Guid");

System.DirectoryServices.DirectoryEntry adminde = 
new System.DirectoryServices.DirectoryEntry("WinNT://localhost/administrator");
adminde.NativeGuid.Dump("administrator Guid");

Может кто-нибудь объяснить, что представляет собой NativeGuid при использовании провайдера WinNT, и есть ли хорошая альтернатива для uniqueId или SID - лучший выбор?

Для запуска вышеуказанного в LinqPad нажмите F4 и добавьте System.DirectoryServices.dll в список сборок. Затем убедитесь, что localuser либо существует, либо измените имя на локального пользователя в системе. Затем нажмите F5.

Спасибо

Держатель Шейна

Ответы [ 2 ]

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

Я думаю, что SID - это, вероятно, ваш лучший выбор в любом сценарии, связанном с пользователями и группами. На самом деле другого уникального идентификатора нет, особенно у провайдера WinNT.

Для получения дополнительной информации об обсуждении WinNT против LDAP и для справочных листов Excel о том, какие свойства действительно предоставляет каждый из этих поставщиков (и как их зовут), посетите Hilltop Lab Ричарда Мюллера . Ричард - это ADSI MVP, и у него есть отличное содержимое для всех, кто интересуется Active Directory и LDAP.

Марк

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

Этот другой вопрос говорит, что не следует использовать NativeGuid. Вместо этого я бы использовал «SID».

...