Home » Active Directory Domain Services

Active Directory : Réanimation d’objets

25. mars 2009 by Romain Lacour 9 Commentaires

Introduction

Qui n’a jamais expérimenté une suppression involontaire d’un compte utilisateur dans Active Directory en s’arrachant les cheveux pensant qu’il va falloir faire une restauration autoritaire pour le retrouver, à condition d’avoir des backups!

Je vais donc vous montrer dans ce mini-article qui va faire office de petite astuce pour pouvoir récupérer un objet qui a été supprimé malencontreusement. C’est ce que nous appelons la réanimation d’objets défunts.

Je vous ai préparé une webcast (en fin d’article) qui vous permettra de suivre les étapes de cette procédure en détail pour que vous puissiez le refaire vous même et conserver cette vidéo dans un coin au chaud, pour le jour où vous en aurez besoin.

Cette procédure est déjà traitée sur un certain nombre de sites, mais pas forcément en français et pas forcément de façon très claire. Je vais donc essayer d’apporter ma version, en espérant qu’elle aidera toujours certaines personnes.

 

Ce qu’il faut savoir…

Lorsque l’on supprime un objet dans Active Directory, comme un compte utilisateur, celui-ci n’est pas supprimé instantanément de la base de données car cette suppression doit d’abord être répliquée sur les autres contrôleurs de domaine, Active Directory Domain Services étant un système distribué. Celui-ci est donc marqué pour la suppression via l’attribut “IsDeleted” de l’objet qui se voit attribuer la valeur TRUE et l’objet est déplacé dans le conteneur caché “Deleted Objects” de la partition d’annuaire correspondante. On appelle l’objet se retrouvant dans cet état un “tombstone”. En effet, chaque partition possède son propre conteneur “Deleted Objects”, mis à part la partition de schéma car il n’est pas possible de supprimer des objets du schéma.

Cependant, les objets ne sont pas stockés éternellement dans ces conteneurs “Deleted Objects”. Un processus s’exécute sur chaque contrôleur de domaine (Garbage Collection) et supprime les objets expirés. La durée de vie par défaut des “tombstones” est de 180 jours depuis Windows Server 2003 SP1 (60 jours avant cette version).

Cette durée de vie des objets supprimés dans les conteneurs Deleted Objects peut être modifiée en changeant la valeur de l’attribut “tombstoneLifetime” dans les propriétés de l’objet “CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=domaineRacineForet” de la partition de configuration. Voir la capture d’écran ci-dessous.

Tombstone Lifetime

Maintenant que nous comprenons un peu mieux le fonctionnement de la suppression des objets dans Active Directory, rentrons dans le vif du sujet avec le détail des étapes pour faire cette réanimation!

Sauvons nos objets!

Pour réanimer nos objets défunts (tombstoned objects) , nous allons utiliser l’outil LDP.exe, présent nativement sur Windows Server 2008. L’astuce va venir du fait qu’il faut activer le contrôle 1.2.840.113556.1.4.417 lors de la recherche pour que le conteur Deleted Objects soit visible, vu qu’il est caché par défaut.

Commençons par lancer l’outil LDP.exe. Une fois lancé, allons dans le menu Connection et cliquons sur Connect… pour nous connecter à un contrôleur de domaine. Dans mon cas, le contrôleur de domaine est la machine locale, je laisse donc localhost.

LDPConnect

Une fois connecté, rendons nous encore une fois dans le menu Connection, mais cette fois pour sélectionner l’option Bind… Ceci permet de spécifier le compte d’utilisateur avec lequel nous allons travailler. Attention d’utiliser un compte d’utilisateur ayant les autorisations suffisantes, le plus simple étant d’utiliser un compte faisant parti du groupe Domain Admins. Attention toutefois car toute erreur pourrait être fatale vu que vous disposerez de toutes les autorisations sur le domaine.

LDPBind

Une fois authentifié, il va falloir activer le contrôle 1.2.840.113556.1.4.417 pour que l’on puisse avoir accès au conteneur Deleted Objects lors de notre recherche. Pour cela rendons nous dans le menu Options et selectionnons Controls (Contrôles en français). Une fois dans la fenêtre Controls, sélectionnons Return deleted objects (Retourner les objets supprimés en français) dans la liste Load Predefined en bas à droite de la fenêtre. Vérifiez que le contrôle actif est bien le numéro 1.2.840.113556.1.4.417 et cliquez sur OK pour valider.

LDPControls

 

Ensuite connectons nous à la partition qui nous intéresse. Dans mon cas, je vais réanimer un compte utilisateur, je me connecte donc à la partition de domaine, “DC=supinfo,DC=lan”, aussi appelée Default Naming Context. Pour cela, rendez-vous dans le menu View (Affichage) et sélectionnez Tree (Arborescence) et dans la liste Base DN, sélectionnez votre partition de domaine. Si votre domaine s’appelle supinfo.lan, alors le DN est “DC=supinfo,DC=lan”.

LDPTree

Dans la partie gauche de LDP, vous devez maintenant retrouver votre partition de domaine, dépliez là et rendez vous dans le conteneur “CN=Deleted Objects,DC=votreDomaine”. Cherchez maintenant l’objet que vous souhaitez réanimer, faites un clic-droit dessus et sélectionnez Modify (Modifier). Bien sûr le Distinguished Name (DN) de votre objet a été modifié lors de la suppression. La première étape va donc de le changer à nouveau pour le faire correspondre à l’OU dans laquelle vous souhaitez restaurer votre objet. Dans mon cas, je veux restaurer l’objet dans l’unité d’organisation Formateurs, qui se trouve dans l’OU Lyon, qui elle même se trouve à la racine de mon domaine. Le DN est donc le suivant: “CN=Romain Lacour,OU=Formateurs,OU=Lyon,DC=supinfo,DC=lan”.

Première étape: Dans le champ Attribute (Attribut), saisir distinguishedName et dans Values (Valeurs), saisir le DN de votre objet. Ensuite dans Operation, sélectionnez Replace (Remplacer) et cliquez sur le bouton Enter (Entrer).

Seconde étape: Il faut supprimer la valeur de l’attribut isDeleted. Pour cela, dans Attribute, tapez isDeleted et sélectionnez directement l’opération Delete puis cliquez sur Enter.

Enfin sélectionnez l’option Extended en bas à gauche de la fenêtre.

Vous devriez obtenir un écran comme celui-ci:

LDPModify

Si tout est bon, vous pouvez cliquer sur Run (Exécuter) pour lancer les modifications. Fermez ensuite la fenêtre de modification et vérifiez qu’il n’y a pas eu d’erreur.

Ensuite il ne vous reste plus qu’à aller vérifier dans la console Utilisateurs et Ordinateurs Active Directory, si votre object est bien à nouveau présent.

 

Conclusion

Voilà, nous avons vu en détail la procédure de réanimation des objets, vous pouvez appliquer cela à n’importe quel objet dans Active Directory ayant été supprimé de n’importe quelle partition (excepté celle du schéma ne pouvant pas en supprimer d’objets).

Cette procédure ne ramène pas tous les attributs de votre objet. Malheureusement, beaucoup d’informations sont définitivement perdues malgré cette réanimation et il vous faudra reconfigurer l’objet manuellement. Cependant le SID, le GUID et descripteur de sécurité ainsi que n’importe quelle attribut indexé. A savoir que depuis Windows Server 2003 SP1, l’attribut sIDHistory est aussi retenu.

J’espère que cette procédure vous sera utile et que maintenant vous ne perdrez plus de cheveux lors de la suppression d’un objet qui ne devait pas l’être. :)

Voici la webcast que vous pouvez visionner, cela vous facilitera peut-être la tâche:

Microsoftement vôtre!

Commentaires

Regis
France Regis said:

Moi j'ai jamais essayer mais sa doit surement venir du fait qu'il y a un mot sur 2 dans l'article que je ne comprend pas lool

REYNAUD Guillaume
France REYNAUD Guillaume said:

Bonjour,

Très bon début pour ton blog, articles de qualité continue comme ça. Pour ma part j'ai écrit quelques articles sur Active Directory (repris ici ou là) qui peuvent compléter tes articles.

http://quick-tutoriel.com/category/os-windows

patrick
France patrick said:

Il existe un utilitaire gratuit sur le site Microsoft qui fait la même chose, plus simplement :
"adrestore".
Salut

alain
France alain said:

Bonsoir et merci pour cette procédure. Par contre, je souhaiterais savoir si cet "outil" est capable de restaurer une OU complete avec tous les objets enfants. par exemple une OU avec ses utilisateurs.

thylos
France thylos said:

Merci,

Sinon plus simple, vous installer le produit GRATUIT de Quest Software AD Recovery, et vous pouvez restaurer vos éléments très rapidement.

Cordialement

romain
romain said:

Bien sûr, il existe des outils plus performants et plus efficaces. Le but de ce billet était plutôt de présenter ce qu'il est possible de faire sans outil annexe ainsi que le concept de réanimation et son fonctionnement plutôt qu'une réelle solution de restauration.

Roscoe Gosch
United States Roscoe Gosch said:

It's actually a cool and useful piece of information. I'm glad that you shared this useful info with us. Please keep us informed like this. Thanks for sharing.

Quentin
France Quentin said:

Super  !

bucks party sydney
United States bucks party sydney said:

I just lately came across your blog and have been reading along. I thought I would leave my initial comment. I do not know what to say except that I've liked reading. Very good blog. I will keep viewing this weblog really usually.

Ajouter un commentaire


(Affichera votre icône Gravatar)

  Country flag

biuquote
  • Commentaire
  • Aperçu immédiat
Loading



Tag Cloud