Я пишу приложение, которое хочу работать как с 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.
Спасибо
Держатель Шейна