Les « snapshots » Active Directory

Une autre fonctionnalité Active Directory apparu dans la version 2008 est le snapshot Active Directory. Cette fonctionnalité utilise les clichés VSS apparu dans Windows 2003. Il est possible de prendre un cliché de l’annuaire AD et de le monter dans une autre instance en parallèle de l’annuaire en production. Par défaut les services LDAP écoutent sur le port 389, alors que vous pouvez préciser le port souhaité pour monter votre cliché. Une fois vos clichés montés il vous est possible d’ouvrir la console « utilisateur et ordinateur Active Directory » sur l’annuaire en production et une autre sur le cliché. Néanmoins vous ne pouvez pas restaurer un objet par un simple « copier / coller ». Par défaut l’outil vous permet principalement de comparer les objets à la condition de savoir exactement ce que l’on souhaite comparé.

En fait nous trouverons plus d’attrait à cet outil en utilisant un outil tiers véritable comparateur et permettant de réanimer les objets supprimés. Jusque-là cette option à l’air de faire doublon par rapport à la corbeille Active Directory. Néanmoins grâce à l’outil de Fredrik Lindström des fonctionnalités plus poussé vous ont proposé, car il vous permettra de restaurer également des valeurs d’attribut et effectue une comparaison entre les 2 annuaires

Voyons ces nouveautés au travers d’un exemple.

Nous commencons par la création d'un snaptshot avec l'aide de l'outil NTDSUtil.

ntdsutil

snaphot

activate instance ntds

create

Une fois le snapshot crée nous pouvons utiliser la commande "list all" afin de voir la liste des snapshot Active Directory en court.

 

Nous allons monter le  “snapshot” par la commande :

Mount “index”

En ouvrant l’explorateur de fichier nous constatons que le « snapshot » a été monté dans un « dossier » $SNAP_xxxxx :

Dans ce dossier nous retrouvons une vue de « c:\windows\ntds » ou se trouve le fichier de l’annuaire Active Directory “NTDS.dit”.

Il est possible de monter le service Active Directory correspondant au « Snapshot » prit avant la suppression du compte par la commande :

 

dsamain -dbpath C:\$SNAP_201402160002_VOLUMEC$\Windows\NTDS\ntds.dit -ldapport 10000

Une fois le service monté nous pouvons éxecuté en parrallèle 2 consoles “Utilisateur et Ordinateur Active Directory”. Il suffira sur la 2 ème de changer de serveur pour intérroger le contrôleur de domaine sur le port définit dans la commande précédente :

 

Dans l’image ci-dessous nous comparons nos 2 consoles ouvertes. La vue de gauche représente le « snapshot », celle de droite l’état actuel.

Malheureusement comme vous pourrez le constater, il n’est pas possible de faire un copier / coller de l’objet d’une console à l’autre pour le rétablir.

Nous allons utiliser un outil de Fredrik Lindström : « Directory Service Comparison Tool ».

Cette utilitaire permet de comparer les 2 instances Active Directory et de réanimer des Objets supprimés. Il va même plus loin que la restauration d’un objet ou la corbeille, puisqu’il est possible de réanimer l’attribut d’un objet. L’outil est disponible sur le lien suivant : http://blog.frli.se/p/dsct.html

 

Une fois l’installation terminée, ouvrer une console mmc et ajouter le composant “Directory Service Comparaison Tool” :

Ouvrez l’option ‘datasource settings ‘ et indiquer les chemins vers le « snapshot » et l’instance actuelle :

 

Sur l’image ci-dessous nous pouvons voir les éléments modifié, ajouté ou supprimé :

Dans l’image ci-dessous nous retrouvons le compte “user2” qui a été supprimé : 

Il suffit de faire un clic droit et “reanimate” et de confirmer :

En restaurant sur la console nous constatons que le compte user2 est réapparu. Il est à noter que dans cette méthode il s’agit de réanimation d’objet et non de restauration à proprement parlé. Vérifié que l’objet restauré dispose de ces attributs.

L’opération étant terminé nous allons d’abord arrêter l’instance du « snapshot » et ensuite le démonter. Pour arrêter l’instance il suffit de faire un <Ctrl> C dans la fenêtre de commande resté ouverte :

 

Il ne nous reste plus qu’à démonter le « snapshot » en retournant dans la fenêtre par l’intermédiaire de la commande « unmount 1 » :

Enfin pour finir nous allons supprimer le « Snapshot » par la commande « delete 1 » :