使用 WKGUID 系結至 Well-Known 物件
容器可以有一或多個可重新命名或移動的重要子物件。 追蹤這些子物件併為其建置正確的系結字串可能很困難,特別是重新命名或移動它們時。
為了支援這些容器中這些物件的重新命名安全系結,Active Directory Domain Services 有兩個屬性:wellKnownObjects,otherWellKnownObjects。 這些屬性具有屬性語法 ADSTYPE_DN_WITH_BINARY。 它們允許多個值,並包含設定在容器內的知名物件的 GUID/DN 元組。 Active Directory 伺服器會維護每個 wellKnownObjects 的辨別名稱部分,並 otherWellKnownObjects 專案,使其包含建立專案時所指定之物件的目前辨別名稱。
otherWellKnownObjects 屬性可以在任何對象上設定及使用。
wellKnownObjects 屬性用於 domainDNS 和設定容器。 wellKnownObjects 屬性是僅限系統的屬性,而且只能由作系統修改。
domainDNS 容器具有下列已知物件:
- 使用者
- 計算機
- 系統
- 域控制器
- 基礎設施
- 已刪除的物件
- 遺失和找到
組態容器具有已知的物件:已刪除的物件。
這些對象位於 Active Directory 網域服務中的每個 domainDNS 和組態容器中。
您可以使用 WKGUID 系結格式系結至已知的物件。 只有 Active Directory 網域服務支援與 WKGUID 的綁定,也就是 LDAP 提供者。
重要
一律使用 WKGUID 系結格式,系結至網域和組態容器中所列的已知物件。 這可確保即使這些容器已被移動或重新命名,它們仍然可以被連接到。
WKGUID 系結字串格式如下所示:
LDAP://<servername>/<WKGUID=<XXXXX>,<container DN>>
“<伺服器名稱>” 是目錄伺服器名稱。 “<伺服器名稱>” 是選擇性的。
“<XXXXX>” 是代表已知物件的 GUID 十六進位值的字串表示。 GUID 字串是在「XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX」格式中指定,而且與 StringFromGUID2 函式所產生的 GUID 字串不同,其格式為「{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}」。 如需詳細資訊和示範如何從 GUID 建立可繫結字串的程式代碼範例,請參閱 建立 GUID 之可繫結字串表示法的範例程式代碼。
若要系結至物件 中其他WellKnownObjects 中指定的物件,請將 “<XXXXX>” 指定為物件已知物件 GUID 的系結字符串形式。 如需詳細資訊,請參閱 讀取物件的 objectGUID 和建立 GUID 的字串表示。 如需有關在對象上設定 otherWellKnownObjects 屬性的詳細資訊,請參閱 使用 otherWellKnownObjects 屬性啟用 Rename-Safe 系結。
若要系結至 domainDNS 或組態容器中 wellKnownObject s 中所指定的物件,請將 “<XXXXX>” 指定為下表中所列的下列其中一個常數,如 Ntdsapi.h 中所定義。
容器 | GUID 識別碼 |
---|---|
使用者 | GUID_USERS_CONTAINER_W |
計算機 | GUID_COMPUTRS_CONTAINER_W |
系統 | GUID_SYSTEMS_CONTAINER_W |
域控制器 | GUID_網域控制器_容器_W |
基礎設施 | GUID_INFRASTRUCTURE_CONTAINER_W |
已刪除的物件 | GUID_DELETED_OBJECTS_CONTAINER_W |
遺失和找到 | GUID_LOSTANDFOUND_CONTAINER_W |
例如,若要系結至網域中的使用者容器,請將 GUID_USERS_CONTAINER_W 指定為 「<XXXXX>」。。
“<container DN>” 是容器對象的辨別名稱,此物件在其 wellKnownObjects 屬性中表示為值。 例如,若要系結至網域中的使用者容器,請將網域辨別名稱指定為 「<container DN>」。。
例如,若要系結至網域 Fabrikam.com 的使用者容器,請使用下列系結字串。
LDAP://<WKGUID=a9d1ca15768811d1aded00c04fd8d5cd,dc=Fabrikam,dc=com>
如需詳細資訊和示範如何系結至已知 GUID 的程式代碼範例,請參閱 系結至已知物件的範例程式代碼。