Creazione di una partizione della directory dell'applicazione
Una partizione della directory dell'applicazione è rappresentata da un oggetto domainDNS con un valore di attributo instanceType di DS_INSTANCETYPE_IS_NC_HEAD combinato con DS_INSTANCETYPE_NC_IS_WRITEABLE. Questo oggetto domainDNS rappresenta la radice della partizione della directory dell'applicazione e viene denominato simile a una partizione di dominio normale, ad esempio "DC=dynamicdata,DC=fabrikam,DC=com", che corrisponde a un nome DNS "dynamicdata.fabrikam.com". È quindi possibile creare un'istanza di una partizione di directory dell'applicazione ovunque sia possibile creare un'istanza di una partizione di dominio. Nessun nome NetBIOS associato a una partizione di directory dell'applicazione.
È possibile annidare le partizioni di directory dell'applicazione, ovvero una partizione di directory dell'applicazione può avere partizioni di directory dell'applicazione figlio. Le ricerche con ambito sottoalbero rooted in una partizione della directory dell'applicazione generano riferimenti di continuazione alle partizioni della directory dell'applicazione figlio.
Una replica di partizione della directory dell'applicazione può essere creata solo in un controller di dominio in esecuzione in Windows Server 2003 e versioni successive e solo mentre il ruolo FSMO di denominazione del dominio è mantenuto da un controller di dominio Windows Server 2003 e versioni successive. In una foresta mista con controller di dominio windows Server 2003 e controller di dominio di livello inferiore (controller di dominio Windows 2000 o controller di dominio primario Windows NT 4.0), un tentativo di creare una replica di partizione della directory dell'applicazione in un controller di dominio di livello inferiore avrà esito negativo.
Una partizione della directory dell'applicazione ha anche un oggetto crossRef corrispondente nel contenitore Partitions della partizione di configurazione. È possibile creare manualmente crossRef prima di creare l'oggetto domainDNS. L'oggetto crossRef creato in precedenza deve avere i valori dell'attributo indicati nella tabella seguente oppure la creazione della partizione avrà esito negativo. Se l'oggetto crossRef non esiste, il server Active Directory ne creerà uno quando viene creata la partizione della directory dell'applicazione.
Attributo | Descrizione |
---|---|
dnsRoot | Contiene il percorso DNS del controller di dominio in cui verrà creata la partizione della directory dell'applicazione. |
Abilitato | Contiene FAL edizione Standard. |
Ncname | Contiene il nome distinto della partizione. Nell'esempio precedente questo attributo conterrà "DC=dynamicdata,DC=mydomain,DC=com". |
Per creare una nuova partizione di directory dell'applicazione con la prima replica, seguire questa procedura
Eseguire il binding allo spazio dei nomi per la nuova partizione, specificando il controller di dominio che ospiterà la partizione della directory dell'applicazione in ADsPath. Ad esempio, per creare una partizione con ADsPath "DC=dynamicdata,DC=mydomain,DC=com", il binding ADsPath sarà "LDAP://< domain controller>/DC=mydomain,DC=com", dove "<controller> di dominio" è il nome DNS del controller di dominio che ospiterà la partizione.
L'operazione di associazione deve specificare le opzioni di delega e veloce. L'opzione rapida consente all'associazione di avere esito positivo anche se lo spazio dei nomi non esiste. L'opzione di delega è necessaria per consentire al controller di dominio di contattare il titolare del ruolo FSMO di denominazione del dominio usando le stesse credenziali.
La versione di sistema del controller di dominio deve essere il sistema operativo Windows Server 2003 e versioni successive.
Creare un oggetto domainDNS con un nome appropriato per la partizione, ad esempio "DC=dynamicdata", per rappresentare l'intestazione del contesto di denominazione per la nuova partizione. L'oggetto domainDNS deve avere un attributo instanceType con valore 5 (DS_INSTANCETYPE_IS_NC_HEAD DS_INSTANCETYPE_NC_IS_WRITEABLE | ). L'attributo instanceType può essere impostato solo in fase di creazione perché è un attributo solo di sistema.
Quando viene creato l'oggetto domainDNS , il server Active Directory eseguirà la procedura seguente:
Cerca un oggetto crossRef nel contenitore Partitions con un valore di attributo nCName corrispondente al nome distinto della partizione e, se viene trovata una corrispondenza, modifica l'oggetto crossRef per rappresentare la partizione della directory dell'applicazione. Se non viene trovato un oggetto crossRef corrispondente, il server Active Directory crea un nuovo oggetto crossRef per rappresentare la partizione della directory dell'applicazione.
Nella tabella seguente sono elencati gli attributi importanti dell'oggetto crossRef .
Attributo Descrizione Ncname Contiene il nome distinto della partizione. dnsRoot Contiene il nome DNS della partizione. msDS-NC-Replica-Locations Il nome distinto dell'oggetto nTDSDSA del controller di dominio per la prima replica viene aggiunto a questo attributo. Avviare una sincronizzazione della partizione di configurazione e attendere il completamento. Ciò consente all'applicazione client di modificare i parametri di configurazione per la partizione della directory dell'applicazione appena creata, mentre è associato allo stesso controller di dominio usato per la creazione della partizione della directory dell'applicazione.
Creare l'oggetto domainDNS con i flag DS_INSTANCETYPE_IS_NC_HEAD e DS_INSTANCETYPE_NC_IS_WRITEABLE impostati sulla proprietà instanceType. La proprietà instanceType può contenere anche altri flag privati.
Popolare l'attributo ms-DS-Has-Master-NCs dell'oggetto nTDSDSA per il controller di dominio di destinazione con il nome distinto della partizione della directory dell'applicazione appena creata.
Quando viene creata la partizione della directory dell'applicazione o quando viene aggiunta e sincronizzata completamente una nuova replica della partizione di directory dell'applicazione, il server Active Directory registra correttamente la replica con NetLogon e DNS. Per altre informazioni e un elenco dei record SRV registrati, vedere Individuazione di un server host della partizione di directory dell'applicazione.
Per altre informazioni sulla creazione di una partizione di directory dell'applicazione, vedere Codice di esempio per la creazione di una partizione di directory dell'applicazione.
Individuazione del contenitore di partizioni
Il nome distinto del contenitore Partizioni è disponibile in uno dei due modi seguenti. Il primo è più complicato da eseguire, ma fornirà sempre un risultato accurato:
- Eseguire l'associazione a RootD edizione Standard e ottenere l'attributo configurationNamingContext.
- Usare l'attributo configurationNamingContext per eseguire l'associazione al contenitore di configurazione.
- Cercare nel contenitore di configurazione un oggetto di tipo crossRefContainer.
- Ottenere il valore dell'attributo distinguishedName dell'oggetto crossRefContainer. Questo sarà il nome distinto del contenitore Partizioni.
Per altre informazioni e un esempio di codice che mostra questo metodo per individuare il contenitore Partitions, vedere la funzione GetPartitionsDNSearch nel codice di esempio per individuare il contenitore partizioni.
Il secondo metodo è più semplice da implementare, ma si basa sul contenitore Partitions con un particolare nome distinto relativo. Non è attualmente possibile modificare il nome del contenitore Partizioni, ma se questa funzionalità viene aggiunta in futuro, la procedura seguente non funzionerà correttamente se il contenitore Partizioni è stato rinominato.
- Eseguire l'associazione a RootD edizione Standard e ottenere l'attributo configurationNamingContext.
- Combinare la stringa "CN=Partitions", seguita dall'attributo configurationNamingContext per formare il nome distinto del contenitore Partitions. Il nome distinto sarà nel formato "CN=Partitions,configuration< DN>".
Per altre informazioni e un esempio di codice che mostra questo metodo per individuare il contenitore Partitions, vedere la funzione GetPartitionsDNManual nel codice di esempio per l'individuazione del contenitore partizioni.