共用方式為


建立應用程式目錄分割區

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

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

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

應用程式目錄分割區在設定數據分割的 Partitions 容器中也有對應的 crossRef 物件。 在建立 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://< domain controller/DC=mydomain,DC=com”,其中 “<domain controller>>” 是將裝載分割區的域控制器 DNS 名稱。

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

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

  2. 為分割區建立 具有適當名稱的 domainDNS 物件,例如 “DC=dynamicdata”,以代表新分割區的命名內容標頭。 domainDNS 物件必須具有值為 5 的 instanceType 屬性(DS_INSTANCETYPE_IS_NC_HEAD DS_INSTANCETYPE_NC_IS_WRITEABLE | )。 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 函式,以尋找數據分割容器