Les données qui sont stockées dans Active Directory sont physiquement stockées dans quelques fichiers seulement. Les informations sont principalement stockées dans un fichier appelé ntds.dit, mais il existe également des journaux de transactions qui sont utilisés conjointement avec ntds.dit pour prendre en charge la base de données. Vous trouverez physiquement ces fichiers sur chaque contrôleur de domaine dans le dossier %systemroot%\NTDS.

Ces fichiers contiennent les informations stockées dans Active Directory telles que les utilisateurs, les ordinateurs, les unités d’organisation, les domaines, les objets de sites, etc. Si le contrôleur de domaine fait également office de serveur de catalogue global, les informations des autres domaines de la forêt sont également stockées dans la base de données.

Bien que les administrateurs n’interagissent pas directement avec ces fichiers, il arrive que la reprise après sinistre, la maintenance de routine et d’autres événements exigent que l’administrateur travaille directement avec ces fichiers, généralement via l’invite de commande. Cependant, cette interaction avec la base de données n’est pas accessible directement, mais via une ou plusieurs interfaces qui prennent en charge la communication avec le magasin de données.

Voici quelques-unes des différentes interfaces qui peuvent être utilisées pour communiquer avec la base de données : Lightweight Directory Access Protocol (LDAP), Replication (REPL), Messaging API (MAPI) et Security Accounts Manager (SAM). Pour communiquer avec le magasin de données, il existe un service appelé Directory Service Agent (DSA) qui fournit l’accès. Il s’exécute sous la forme d’une DLL appelée ntdsai.dll.

Le DSA s’assure que certaines règles sont appliquées lors de l’accès au magasin. Lorsque l’accès est requis, l’une des interfaces est utilisée pour se lier au DSA. Le DSA se trouve dans la couche de base de données et ne peut pas accéder directement au magasin. Le DSA utilise le moteur de stockage extensible (ESE) pour communiquer avec le magasin. L’ESE est responsable du transfert des informations dans et hors de la base de données.

Cette approche multicouche garantit que chaque composant peut fonctionner indépendamment tout en fournissant diverses interfaces pour accéder aux informations du magasin de données. Ces diverses interfaces permettent aux composants d’accéder aux informations en utilisant différents formats.

Alors que certains clients et applications s’appuient sur LDAP, d’autres, comme les systèmes pré-Windows 2000, peuvent accéder aux informations en utilisant l’interface SAM. Cette approche permet également aux implémentations futures d’incorporer des interfaces plus récentes sans avoir à modifier toutes les couches impliquées dans le support des services de domaine Active Directory.