Поделиться через


Привязка к объектам Well-Known с помощью WKGUID

Контейнеры могут иметь один или несколько важных вложенных объектов, которые можно переименовать или переместить. Отслеживание этих вложенных объектов и создание правильных строк привязки для них может быть затруднительным, особенно когда они переименовываются или перемещаются.

Для поддержки безопасной привязки при переименовании этих объектов в этих контейнерах, доменные службы Active Directory имеют два атрибута: wellKnownObjects и otherWellKnownObjects. Эти атрибуты имеют синтаксис атрибутов ADSTYPE_DN_WITH_BINARY. Эти атрибуты поддерживают несколько значений и содержат кортежи GUID/DN известных объектов в контейнерах, на которых они настроены. Сервер Active Directory поддерживает выделенную часть имени каждой wellKnownObjects и otherWellKnownObjects таким образом, чтобы она содержала текущее выделенное имя объекта, указанного при создании записи.

Свойство otherWellKnownObjects можно задать и использовать для любого объекта.

Свойство wellKnownObjects используется в контейнерах domainDNS и конфигурации. Свойство wellKnownObjects является свойством только для системы и может быть изменено только операционной системой.

Контейнер domainDNS содержит следующие известные объекты:

  • Пользователи
  • Компьютеры
  • Система
  • Контроллеры домена
  • Инфраструктура
  • Удаленные объекты
  • Потеряно и найдено

Контейнер конфигурации имеет известный объект: удаленные объекты.

Эти объекты находятся в каждом контейнере DNS-домена и контейнере конфигурации в доменной службе Active Directory.

Можно привязать к хорошо известному объекту с помощью формата привязки WKGUID. Привязка с WKGUID поддерживается только в службах доменных служб Active Directory, то есть, провайдером LDAP.

Важный

Всегда используйте формат привязки WKGUID для привязки к известным объектам, как указано выше, в контейнерах домена и конфигурации. Это гарантирует, что даже при перемещении или переименовании эти контейнеры остаются привязанными.

 

Формат строки привязки WKGUID выглядит следующим образом:

LDAP://<servername>/<WKGUID=<XXXXX>,<container DN>>

"<имя сервера>" — это имя сервера каталогов. Имя сервера>"<" является необязательным.

"<XXXXX>" — это строковое представление шестнадцатеричного значения GUID, представляющего известный объект. Строка GUID указана в форме "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" и не совпадает со строкой GUID, созданной функцией StringFromGUID2, которая принимает форму "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". Дополнительные сведения и пример кода, демонстрирующий создание привязываемой строки из GUID, см. в разделе Пример кода для создания привязываемого строкового представления GUID.

Чтобы привязаться к объекту, указанному в otherWellKnownObjects внутри другого объекта, укажите значение "<XXXXX>" в качестве строки привязки, представляющей GUID известного объекта. Дополнительные сведения см. в разделе чтение объекта objectGUID и создание строкового представления GUID. Дополнительные сведения о настройке свойства otherWellKnownObjects на объектах см. в разделе Активация привязки Rename-Safe с помощью свойства otherWellKnownObjects.

Чтобы привязаться к объекту, указанному в wellKnownObjects в контейнерах DomainDNS или контейнерах конфигурации, укажите "<XXXXX>" в качестве одной из следующих констант, перечисленных в следующей таблице, как определено в Ntdsapi.h.

Контейнер Идентификатор GUID
Пользователи GUID_USERS_CONTAINER_W
Компьютеры GUID_COMPUTRS_CONTAINER_W
Система GUID_SYSTEMS_CONTAINER_W
Контроллеры домена GUID_DOMAIN_CONTROLLERS_CONTAINER_W
Инфраструктура GUID_INFRASTRUCTURE_CONTAINER_W
Удаленные объекты GUID_DELETED_OBJECTS_CONTAINER_W
Потеряно и найдено GUID_LOSTANDFOUND_CONTAINER_W

 

Например, чтобы привязать контейнер пользователя в домене, укажите GUID_USERS_CONTAINER_W как "<XXXXX>".

"<DN контейнера>" — это различающееся имя объекта контейнера, представляющего этот объект в качестве значения в свойстве wellKnownObjects. Например, чтобы привязаться к контейнеру пользователей в домене, укажите отличительное имя домена в качестве<DN контейнера>.

Например, чтобы привязать к контейнеру пользователей домена Fabrikam.com, используйте следующую строку привязки.

LDAP://<WKGUID=a9d1ca15768811d1aded00c04fd8d5cd,dc=Fabrikam,dc=com>

Дополнительные сведения и пример кода, демонстрирующий привязку к известному GUID, см. в разделе пример кода привязки к известным объектам.