Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Maintenir une infrastructure Active Directory

Introduction

Active Directory est une infrastructure vivante et qui a besoin d’être maintenue. Il y a en effet, après les étapes d’architecture et de déploiement d’une organisation Active Directory, d’autres étapes comme la maintenance d’un ensemble d’éléments. C’est d’ailleurs une des étapes les plus importantes dans le cycle de vie d’un service d’annuaire Active Directory.

Le processus de maintien d’une infrastructure Active Directory est composite dans ses dimensions. Par exemple, il peut s’agir d’opérations en lien avec des éléments physiques comme les sites Active Directory, ou alors des éléments logiques comme les domaines Active Directory, sans évoquer les objets Active Directory en tant que tels. La conséquence de cela est que l’activité de maintien de l’Active Directory doit être planifiée afin d’ordonner toutes les dimensions englobées.

Dans ce chapitre, nous nous intéresserons à quelques-unes des dimensions que le processus de maintien d’une organisation Active Directory implique. Mais la particularité ici est que le focus sera mis sur des commandes natives, car Windows PowerShell ne répond pas à toutes les problématiques en la matière, en tous cas pour le moment. Les commandes...

Afficher la topologie de réplication

Les contrôleurs de domaine d’une forêt Active Directory communiquent les uns avec les autres grâce au mécanisme de réplication. Au cours du cycle de vie d’une organisation Active Directory, des liens entre contrôleurs de domaine existent et permettent cette communication. Sans celle-ci, les partitions Active Directory ne pourraient pas être automatiquement répliquées et cela amènerait à rompre avec l’idée d’un annuaire globalement distribué.

Il subsiste toutefois un caractère implicite dans ce genre de situation : le processus de réplication est très bien optimisé, mais des liens implicites sont parfois automatiquement générés en fonction de situations diverses, et il est du coup très difficile de comprendre l’état actuel de la réplication Active Directory. Pour cela, surtout lorsque l’on est un administrateur Active Directory étudier le phénomène de réplication d’une organisation donnée est essentiel si l’on ne veut pas avoir la sensation que les choses nous échappent à mesure qu’elles évoluent.

1. L’outil Repadmin

Un outil important, Repadmin, a pour fonction de gérer tout ce qui va être lié à la réplication Active Directory d’une manière générale. Repadmin est intégré à Windows Server 2008 R2, et le nombre de ses options est tout simplement impressionnant :

PS> Repadmin /? 
 
Usage: repadmin <cmd> <args> [/u:{domain\user}] [/pw:{password|*}] 
                             [/retry[:<retries>][:<delay>]] 
                             [/csv] 
 
Use these commands to see the help: 
 
/?          Displays a list of commands available for use in repadmin  
and their description. 
/help       Same as /? 
/?:<cmd>   ...

Compacter et défragmenter une base de données Active Directory

Tout administrateur ayant pour tâche de gérer tout ou partie d’une infrastructure Active Directory sait que celle-ci est fondamentalement une base de données, et c’est là une compréhension préliminaire. Ici, l’expression « base de données » ne doit pas être comprise uniquement d’un point de vue purement descriptif. En effet, lorsqu’un nouvel objet est enregistré dans cette base de données, celle-ci devient de plus en plus importante. Ce comportement démontre qu’Active Directory n’est pas une base de données avec une taille fixée par avance, mais qu’au contraire la taille d’une base de données Active Directory est dynamique.

1. L’outil Ntdsutil

À l’outil Repadmin, étudié dans la section précédente et permettant de gérer la topologie de réplication Active Directory, s’ajoute un autre outil nommé Ntdsutil. Ntdsutil est une commande native intégrée notamment à Windows Server 2008 R2 et permettant de réaliser des opérations de maintenance de la base de données Active Directory. Tout comme pour l’outil Repadmin, Ntdsutil propose aussi de nombreuses options :

PS> Ntdsutil /? 
 
Microsoft(R) Windows(TM) Directory Service Utilities Version 2.0 
Copyright (C) Microsoft Corporation 1991-2002. All Rights Reserved. 
 
dsdbutil performs database maintenance of the Active Directory Domain  
Services store and facilitates configuration of AD LDS communication  
ports and view AD LDS instances installed on a machine. 
 
This is an interactive tool. Type "help" at the prompt for more  
information. 
 
 
 ?                             - Show this help information 
 Activate Instance %s          - Set "NTDS" or a specific AD LDS
                                 instance as the active instance. 
 Authoritative restore        ...

Copier une base de données Active Directory défragmentée dans le répertoire NTDS

La base de données Active Directory a été compactée puis défragmentée, et donc, une première marche est franchie. La marche suivante consiste à copier la base de données défragmentée dans le dossier C:\Windows\NTDS. Premièrement, commençons par supprimer les fichiers journaux se trouvant dans ce même répertoire et n’étant plus utiles :

PS> Set-Location -Path C:\Windows\NTDS  
PS C:\Windows\NTDS> Get-ChildItem 
 
 
    Directory: C:\Windows\NTDS 
 
 
Mode                LastWriteTime     Length Name 
----                -------------     ------ ---- 
-a---        09/01/2015     12:34       8192 edb.chk 
-a---        10/01/2015     14:53   10485760 edb.log 
-a---        25/07/2010     04:12   10485760 edbres00001.jrs 
-a---        25/07/2010     04:12   10485760 edbres00002.jrs 
-a---        10/01/2015     14:53   41959424 ntds.dit 
-a---        ...

Vérifier l’intégrité d’une base de données Active Directory

Après avoir copié la base de données NTDS.dit dans le répertoire NTDS, la dernière étape est de vérifier l’intégrité des données de la base de données défragmentée. Là aussi, nous créons une fonction que nous nommons Verify-ADDatabaseIntegrity :

function Verify-ADDatabaseIntegrity {  
  
    PROCESS { 
    Ntdsutil "Activate Instance NTDS" files integrity quit "semantic 
database analysis" "go fixup" quit quit 
 
    }
 }
 

Au sein de cette fonction PowerShell, la commande Ntdsutil est toujours utilisée, mais nous pouvons observer la présence de nouveaux paramètres :

  • Le paramètre integrity : permet de vérifier l’intégrité des données sur la base de données NTDS.dit ;

  • Le paramètre semantic database analysis : permet d’effectuer un autre type de vérification d’intégrité des données analysées. Le modèle sémantique est ici celui de l’Active Directory ;

  • Le paramètre go fixup : rend effective la vérification de l’intégrité des données initiée à l’aide...

Diagnostiquer les contrôleurs de domaine d’un domaine Active Directory

Un contrôleur de domaine Active Directory est une entité multifonctionnelle à plusieurs égards. Dans la perspective du maintien d’une infrastructure Active Directory, toutes les fonctions d’un contrôleur de domaine Active Directory doivent, d’une manière ou d’une autre, être diagnostiquées, et ce pour des raisons évidentes liées à la stabilité même de cette infrastructure.

1. L’outil Dcdiag

Une commande très connue des administrateurs Active Directory, Dcdiag, est un outil de diagnostic très puissant testant de multiples fonctions relatives au fonctionnement des contrôleurs de domaine Active Directory. Dcdiag propose, entre autres, le diagnostic des liens de réplication, mais aussi de l’état de l’infrastructure DNS dans son ensemble. C’est une commande très utile lorsque des problèmes surgissent, inévitables dans le cycle de vie d’une organisation Active Directory. L’outil Dcdiag ne déroge pas à la règle de la multiplicité des paramètres :

PS> Dcdiag /? 
 
 Directory Server Diagnosis 
 
dcdiag.exe /s:<Directory Server>[:<LDAP Port>] [/u:<Domain>\<Username>  
/p:*|<Password>|""] 
           [/hqv] [/n:<Naming Context>] [/f:<Log>] [/x:XMLLog.xml] 
           [/skip:<Test>] [/test:<Test>] 
   /h: Display this help screen 
 
   /s: Use <Directory Server> as Home Server. Ignored for DcPromo and 
       RegisterInDns tests which can only be run locally. 
   /n: Use <Naming Context> as the Naming Context to test 
       Domains may be specified in Netbios, DNS or DN form. 
   /u: Use domain\username credentials for binding. 
       Must also use the /p option 
 
   /p: Use <Password> as the password.  Must also use the /u option 
   /a: Test all the servers in this site 
   /e: Test all the servers...