Использование objectGUID для привязки к объекту

Различающееся имя объекта изменяется, если объект переименован или перемещен, поэтому различающееся имя не является надежным идентификатором объекта. В службах домен Active Directory свойство objectGUID объекта никогда не изменяется, даже если объект переименован или перемещен. Дополнительные сведения об objectGUID и идентификаторах см. в разделе "Имена объектов" и "Удостоверения".

Поставщик LDAP Active Directory предоставляет метод привязки к объекту с помощью GUID объекта. Формат строки привязки выглядит следующим образом:

LDAP://servername/<GUID=XXXXX>

В этом примере "имя сервера" — это имя сервера каталогов, а "XXXXX" — строковое представление шестнадцатеричного значения GUID. Имя сервера является необязательным. Строка GUID указана в форме XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Строка GUID также может принимать форму "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXX", которая является той же формой, что и строка, созданная функцией StringFromGUID2, без окружающих фигурных скобок "{}". Дополнительные сведения и пример кода, демонстрирующий создание привязываемой строки из GUID, см. в примере кода для создания привязываемого строкового представления GUID. Свойство IADs.GUID можно использовать для получения правильной строковой формы GUID.

При привязке с помощью GUID объекта некоторые методы и свойства IADsContainer не поддерживаются. Следующие свойства IAD не поддерживаются объектами, полученными с помощью привязки с помощью GUID объекта:

Следующие методы IADsContainer не поддерживаются объектами, полученными путем привязки с помощью GUID объекта:

Чтобы использовать эти методы и свойства после привязки к объекту с помощью GUID объекта, используйте метод IADs.Get для получения различающегося имени объекта, а затем используйте различающееся имя для привязки к объекту снова.

Если приложение хранит или кэширует идентификаторы или ссылки на объекты, хранящиеся в службах домен Active Directory, идентификатор GUID объекта является лучшим идентификатором, используемым по нескольким причинам:

  • Свойство objectGUID объекта никогда не изменяется, даже если объект переименован или перемещен.
  • Легко привязать к объекту с помощью GUID объекта.
  • Если объект переименован или перемещен, свойство objectGUID предоставляет один идентификатор, который можно использовать для быстрого поиска и идентификации объекта, а не необходимости создавать запрос, имеющий условия для всех свойств, которые будут определять этот объект.