共用方式為


建立應用程式目錄分割區

應用程式目錄分割區是由 domainDNS 物件來表示,其物件具有 instanceType 屬性值,該值將 DS_INSTANCETYPE_IS_NC_HEADDS_INSTANCETYPE_NC_IS_WRITEABLE結合。 這個 domainDNS 物件代表應用程式目錄分割根目錄 (NC head),且名稱類似於一般網域分割區,例如 “DC=dynamicdata,DC=fabrikam,DC=com”,其對應至 “dynamicdata.fabrikam.com” 的 DNS 名稱。 因此,應用程式目錄分割區可以在網域分割區的任何位置具現化。 沒有與應用程式目錄分割相關聯的 NetBIOS 名稱。

可以建立巢狀應用程式目錄分割區,也就是說,一個應用程式目錄分割區可以包含子應用程式目錄分割區。 搜尋位於應用程式目錄分割區前端的子樹範圍,將會產生子應用程式目錄分割區的接續參考。

應用程式目錄分割複本只能在 Windows Server 2003 和更新版本執行的域控制器上建立,而且只有在 Windows Server 2003 和更新版本域控制器持有 Domain-Naming FSMO 角色時。 在同時具有 Windows Server 2003 域控制器和下層域控制器的混合樹系中(Windows 2000 域控制器或 Windows NT 4.0 主要域控制器),嘗試在下層域控制器上建立應用程式目錄分割複本將會失敗。

應用程式目錄分割區也有對應的 crossRef 對象,位於組態分割區的 Partitions 容器中。 您可以在建立 domainDNS 物件之前,先手動建立 crossRef。 預先建立 crossRef 對象必須具有下表所示的屬性值,否則數據分割建立將會失敗。 如果 crossRef 物件不存在,Active Directory 伺服器會在建立應用程式目錄分割區時建立一個。

屬性 描述
dnsRoot 包含將建立應用程式目錄分割區之域控制器的 DNS 路徑。
已啟用 包含 FALSE
nCName 包含分割區的辨別名稱。 在上述範例中,此屬性會包含 “DC=dynamicdata,DC=mydomain,DC=com”。

 

若要建立具有第一個複本的新應用程式目錄分割區,請執行下列步驟

  1. 連結至新分割區的命名空間,並指定將在 ADsPath 中承載應用程式目錄分割區的域控制器。 例如,若要使用 「DC=dynamicdata,DC=mydomain,DC=com」 的 ADsPath 建立分割區,系結 ADsPath 會是 「LDAP://<域控制器>/DC=mydomain,DC=com」,其中 「<域控制器>」 是將裝載分割區的域控制器 DNS 名稱。

    綁定操作必須指定加速和授權選項。 快速選項可讓系結成功,即使命名空間不存在也一樣。 委派選項必須允許域控制器使用相同的認證連絡 Domain-Naming FSMO 角色持有者。

    域控制器的系統版本必須是 Windows Server 2003作系統和更新版本。

  2. 使用適當的分割區名稱建立 domainDNS 物件,例如 “DC=dynamicdata”,以代表新分割區的命名內容前端。 domainDNS 對象必須具有值為 5 (DS_INSTANCETYPE_IS_NC_HEAD | DS_INSTANCETYPE_NC_IS_WRITEABLE) 的 instanceType 屬性。 instanceType 屬性只能在建立時設定,因為它是僅限系統的屬性。

建立 domainDNS 物件時,Active Directory 伺服器會執行下列步驟:

  1. 在 Partitions 容器中搜尋 crossRef 物件,其具有 nCName 屬性值,符合分割區的辨別名稱,如果找到相符專案,則會修改 crossRef 對象來代表應用程式目錄分割區。 如果找不到相符 crossRef 物件,Active Directory 伺服器會建立新的 crossRef 對象來代表應用程式目錄分割區。

    下表列出 crossRef 物件的重要屬性。

    屬性 描述
    nCName 包含分割區的辨別名稱。
    dnsRoot 包含分割區的 DNS 名稱。
    msDS-NC-Replica-Locations 第一個複本域控制器之 nTDSDSA 對象的辨別名稱會新增至此屬性。

     

  2. 起始組態分割區的同步處理,並等候完成。 這可讓用戶端應用程式修改新建立之應用程式目錄分割區的組態參數,同時系結至用來建立應用程式目錄分割的相同域控制器。

  3. 使用 instanceType 屬性上設定的 DS_INSTANCETYPE_IS_NC_HEADDS_INSTANCETYPE_NC_IS_WRITEABLE 旗標,建立 domainDNS 物件。 instanceType 屬性也可能包含其他私用旗標。

  4. 使用新建立的應用程式目錄分割區辨別名稱,填入目標域控制器 nTDSDSA 物件的 ms-DS-Has-Master-NCS 屬性。

建立應用程式目錄分割區,或新增應用程式目錄分割區的新複本並完全同步處理時,Active Directory 伺服器會正確地向 NetLogon 和 DNS 註冊複本。 如需詳細資訊,以及已註冊 SRV 記錄的清單,請參閱 尋找應用程式目錄分割主機伺服器

如需建立應用程式目錄分割的詳細資訊,請參閱 建立應用程式目錄分割區的範例程序代碼。

尋找分割區容器

分割區容器的識別名稱可以用以下兩種方式之一來找到。 首先的方法雖然執行起來比較複雜,但它總是會提供精確的結果。

  1. 系結至 RootDSE 並取得 configurationNamingContext 屬性。
  2. 使用 configurationNamingContext 屬性系結至組態容器。
  3. 在組態容器中搜尋 crossRefContainer 類型的物件。
  4. 取得 crossRefContainer 物件的 distinguishedName 屬性值。 這會是 Partitions 容器的辨別名稱。

如需詳細資訊和顯示這個方法以尋找 Partitions 容器的程式代碼範例,請參閱 範例程式代碼中的 getPartitionsDNSearch 函式,以尋找分割區容器

第二個方法更容易實作,但依賴具有特定相對辨別名稱的 Partitions 容器。 目前無法變更 Partitions 容器的名稱,但如果未來新增這項功能,如果已重新命名 Partitions 容器,下列程式將無法正常運作。

  1. 系結至 RootDSE 並取得 configurationNamingContext 屬性。
  2. 結合字串 「CN=Partitions」,後面接著 configurationNamingContext 屬性,以形成 Partitions 容器的辨別名稱。 區別名稱的格式為「CN=Partitions,<configuration DN>」。

如需詳細資訊和顯示這個方法來尋找 Partitions 容器的程式代碼範例,請參閱 範例程式代碼中的 getPartitionsDNManual 函式,以尋找分割區容器