Description de l’outil Lingering Object Liquidator
Cet article décrit l’outil Lingering Object Liquidator (LoL) pour rechercher et supprimer des objets persistants.
Numéro de base de connaissances d’origine : 3141939
Introduction
LOL (Lingering Object Liquidator ) est un outil permettant d’automatiser la découverte et la suppression d’objets persistants. L’outil utilise la méthode DRSReplicaVerifyObjects, qui est exploitée par la repadmin /removelingeringobjects
commande et l’outil repldiag en combinaison avec la primitive removeLingeringObject rootDSE utilisée par LDP.EXE.
Avantages et disponibilité
- Combine la découverte et la suppression d’objets persistants dans une interface.
- L’outil est disponible à partir du Centre de téléchargement Microsoft.
Fonctionnalités clés
- Supprime tous les objets persistants sur tous les contrôleurs de domaine (DCS) sans invite.
- Effectue une comparaison (n * (n-1)) sur chaque contrôleur de domaine de la forêt.
- Effectue la détection de topologie, qui vous permet de choisir et de choisir des contrôleurs de domaine à utiliser pour la comparaison d’objets Lingering (source et cible).
- Exporte une liste d’objets persistants en tant que fichier CSV, afin qu’il puisse être modifié hors connexion, puis importé dans l’outil pour supprimer les objets si nécessaire (utile pour les opérations de suppression avancées).
- Enregistre le contenu de l’objet dans un fichier journal au cas où un nouvel objet doit être hydraté à partir de l’objet persistant.
Conditions requises pour les outils
Téléchargez et exécutez Lingering Object Liquidator sur un contrôleur de domaine ou un ordinateur membre dans la forêt à partir de laquelle vous souhaitez supprimer des objets persistants.
Microsoft .NET Framework 4.5.2 doit être installé sur l’ordinateur exécutant l’outil.
Autorisations : le compte d’utilisateur exécutant l’outil doit avoir des informations d’identification d’administrateur de domaine pour chaque domaine de la forêt dans laquelle réside l’ordinateur en cours d’exécution. Les membres du groupe Administrateurs d’entreprise ont des informations d’identification d’administrateur de domaine dans tous les domaines d’une forêt par défaut. Les informations d’identification de l’administrateur de domaine sont suffisantes dans un domaine unique ou une forêt de domaine unique.
Vous devez activer la règle de pare-feu RPC (Remote Event Log Management) sur n’importe quel contrôleur de domaine qui a besoin d’analyser. Sinon, l’outil retourne une erreur « Exception : Le serveur RPC n’est pas disponible ».
La liquidation des objets persistants dans les environnements AD LDS /ADAM (Active Directory Lightweight Directory Services) n’est pas prise en charge.
Procédure pas à pas
Détection d’objets persistants
Exécutez l’outil en tant qu’administrateur de domaine (ou en tant qu’administrateur d’entreprise si vous souhaitez analyser l’intégralité de la forêt). Pour ce faire, procédez comme suit.
Note
Vous recevrez l’erreur 8453 si l’outil n’est pas exécuté comme étant élevé.
Dans la section Détection de topologie, sélectionnez Détecter la topologie AD.
Détecter la topologie AD remplit le contexte de nommage, le contrôleur de domaine de référence et les listes du contrôleur de domaine cible en interrogeant le contrôleur de domaine local. La détection approfondie effectue une recherche plus exhaustive de tous les contrôleurs de domaine et tire parti des appels DC Locator et DSBind. N’oubliez pas que la détection approfondie échouera probablement si un ou plusieurs contrôleurs de domaine sont inaccessibles.
Voici les champs de l’onglet Objets persistants :
Contexte de nommage
Il contient chaque contexte d’affectation de noms Active Directory dans la forêt.
Contrôleur de domaine de référence
Il s’agit du contrôleur de domaine que vous allez comparer au contrôleur de domaine cible. Le contrôleur de domaine de référence héberge une copie accessible en écriture de la partition.
Note
Tous les contrôleurs de domaine de la forêt sont affichés même s’ils ne conviennent pas en tant que contrôleurs de domaine de référence (ChildDC2 est un contrôleur de domaine principal et n’est pas un contrôleur de domaine de référence valide, car il n’héberge pas de copie accessible en écriture d’un contrôleur de domaine).
Contrôleur de domaine cible
Contrôleur de domaine cible dont les objets persistants doivent être supprimés.
Sélectionnez Détecter les objets persistants pour utiliser les contrôleurs de domaine sélectionnés pour la comparaison, ou sélectionnez Analyser la forêt entière et cibler tous les contrôleurs de domaine pour analyser l’ensemble de l’environnement.
L’outil effectue une comparaison avec toutes les contrôleurs de domaine pour toutes les partitions d’une manière pair lorsque tous les champs sont laissés vides. Dans un environnement volumineux, cette comparaison prendra beaucoup de temps (voire même jours), car le nombre d’opérations cibles (n* (n-1)) de contrôleurs de domaine dans la forêt pour toutes les partitions détenues localement. Pour les opérations plus courtes et ciblées, sélectionnez un contexte de nommage, référencez le contrôleur de domaine et le contrôleur de domaine cible. Le contrôleur de domaine de référence doit contenir une copie accessible en écriture du contexte d’affectation de noms sélectionné. N’oubliez pas que cliquer sur Arrêter n’arrête pas réellement l’API côté serveur, il arrête simplement le travail dans l’outil côté client.
Pendant l’analyse, plusieurs boutons sont désactivés et la zone d’état contient des diagnostics et des messages opérationnels de l’outil Liquidator d’objetlingering. Pendant cette phase d’exécution, l’outil s’exécute en mode consultatif et lit les données du journal des événements signalées sur chaque contrôleur de domaine cible.
Une fois l’analyse terminée, la barre d’état est mise à jour, les boutons sont réactivé et le nombre total d’objets persistants s’affiche. La zone d’état affiche toutes les informations, avertissements et erreurs qui se sont produits pendant l’analyse.
Si vous voyez l’erreur 1396 ou l’erreur 8440 dans le volet d’état, vous utilisez une version préliminaire anticipée de l’outil et devez effectuer une mise à jour vers la dernière version.
- L’erreur 1396 est enregistrée si l’outil utilise incorrectement un contrôleur de domaine en tant que contrôleur de domaine de référence.
- L’erreur 8440 est enregistrée lorsque le contrôleur de domaine de référence ciblé n’héberge pas de copie accessible en écriture de la partition.
Remarques sur la méthode de découverte de liquidateur d’objets persistants :
- Tire parti de la méthode DRSReplicaVerifyObjects en mode consultatif.
- S’exécute pour tous les contrôleurs de domaine et toutes les partitions.
- Collecte l’ID d’événement d’objet persistant 1946 et affiche les objets dans le volet de contenu principal.
- La liste peut être exportée au format CSV pour une analyse hors connexion (ou modification pour l’importation).
- Prend en charge l’importation et la suppression d’objets à partir de l’importation CSV (tirer parti des objets non détectables à l’aide de DRSReplicaVerifyObjects).
- Prend en charge la suppression d’objets par DRSReplicaVerifyObjects et ldap rootDSE removeLingeringobjects modification.
L’outil tire parti de la méthode DRSReplicaVerifyObjects (en mode consultatif) utilisée par la
repadmin /removelingeringobjects /Advisory_Mode
commande. En plus des événements normaux liés au mode consultatif connectés à chaque contrôleur de domaine, il affiche chacun des objets persistants dans le volet de contenu principal.Les résultats de l’analyse sont consignés dans le volet Résultats. De nombreux détails supplémentaires de toutes les opérations sont consignés dans le fichier Date-TimeStamp> de l’outil<.log.txt dans le même répertoire que l’exécutable de l’outil.
Le bouton Exporter vous permet d’exporter une liste de tous les objets persistants répertoriés dans le volet principal dans un fichier CSV. Affichez le fichier dans Excel, modifiez si nécessaire et utilisez le bouton Importer ultérieurement pour afficher les objets sans avoir à effectuer une nouvelle analyse. La fonctionnalité Importer est également utile si vous découvrez des objets abandonnés (non détectables avec DRSReplicaVerifyObjects) que vous devez supprimer.
Remarque sur les objets persistants temporaires :
Le garbage collection est un processus indépendant qui s’exécute sur chaque contrôleur de domaine toutes les 12 heures par défaut. L’un de ses travaux consiste à supprimer des objets qui ont été supprimés et qui ont existé en tant que pierre tombale pendant plus de jours que le nombre de jours de vie de la pierre tombstone. Il existe une période propagée de 12 heures où un objet éligible pour le garbage collection existe sur certaines DC, mais a déjà été supprimé par le processus de garbage collection sur d’autres contrôleurs de domaine. Ces objets seront également signalés comme des objets persistants par l’outil ; Toutefois, aucune action n’est requise, car elle sera automatiquement supprimée la prochaine fois que le processus du garbage collector s’exécute sur le contrôleur de domaine.
Il existe deux méthodes prises en charge pour supprimer les objets persistants détectés. La méthode « removeLingeringObject » fait référence à l’opération de modification rootDSE, qui peut être utilisée pour supprimer des objets persistants individuels. La méthode « DsReplicaVerifyObjects » sélectionne tous les objets persistants à la fois.
Pour supprimer des objets individuels, sélectionnez un seul objet ou sélectionnez plusieurs objets à l’aide de la touche Ctrl ou Maj . Appuyez sur Ctrl pour sélectionner plusieurs objets, ou Maj pour sélectionner une plage d’objets, puis sélectionnez Supprimer les objets persistants sélectionnés.
La barre d’état est mise à jour avec les objets persistants et l’état de l’opération de suppression :
L’outil vide une liste d’attributs pour chaque objet avant la suppression et enregistre cette opération, ainsi que les résultats de la suppression de l’objet dans le fichier journal removedLingeringObjects.log.txt . Ce fichier journal se trouve à l’emplacement de l’exécutable de l’outil : C :\tools\LingeringObjects\removedLingeringObjects<DATE-TIMEStamp>.log.txt.
Exemple de contenu du fichier journal :
the obj DN: <GUID=<GUID>>; <SID=<SID>>;CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com objectClass:top, person, organizationalPerson, user; sn:Schenk; whenCreated:20121126224220.0Z; name:<CN_Name>; objectSid:<SID>;primaryGroupID:513; sAMAccountType:805306368; uSNChanged:32958; objectCategory:<GUID=<GUID>>;CN=Person,CN=Schema,CN=Configuration,DC=root,DC=contoso,DC=com; whenChanged:20121126224322.0Z; cn:<CN_Name>; uSNCreated:32958; l:Boulder; distinguishedName:<GUID=<GUID>>; <SID=<SID>>;CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com; displayName:<CN_Name>; st:Colorado; dSCorePropagationData:16010101000000.0Z; userPrincipalName:<User_Name>@root.contoso.com; givenName:<User_Name>; instanceType:0; sAMAccountName:<Account_Name>; userAccountControl:650; objectGUID:<GUID>; value is :<GUID=<GUID>>:<GUID=<GUID>> Lingering Obj CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com is removed from the directory, mod response result code = Success --------------------------------------------- RemoveLingeringObject returned Success
Une fois tous les objets identifiés, ils peuvent être supprimés en bloc en sélectionnant tous les objets, puis Supprimer ou exportés dans un fichier CSV. Le fichier CSV peut être importé ultérieurement pour effectuer une suppression en bloc. N’oubliez pas qu’il existe un bouton Supprimer tout qui tire parti de la
repadmin /removelingeringobject
méthode de suppression d’objets persistants.
Prise en charge : Bien que cet outil ait été soigneusement testé dans de nombreux environnements, il vous est fourni tel qu’il est. Aucun support Microsoft officiel n’est fourni.
Accédez à la résolution des problèmes liés aux objets Lingering Objects TechNet Virtual Lab si vous souhaitez utiliser cet outil dans un environnement lab contenant des objets persistants.
Workflow
Plus d’informations
Méthode de suppression | Fonctionnalités d’objet/partition et de suppression | Détails |
---|---|---|
Liquidateur d’objets persistants | Suppression par objet et par partition Exploite: - Modification LDAP rootDSE removeLingeringObjects - Méthode DRSReplicaVerifyObjects |
- Basé sur l’interface graphique graphique - Affiche rapidement tous les objets persistants dans la forêt à laquelle l’ordinateur en cours d’exécution est joint - Découverte intégrée via la méthode DRSReplicaVerifyObjects - Méthode automatisée pour supprimer les objets persistants de toutes les partitions - Supprime les objets persistants de tous les contrôleurs de domaine (y compris les contrôleurs de domaine) mais pas les liens persistants - Windows Server 2008 et les contrôleurs de domaine ultérieurs (ne fonctionneront pas avec les contrôleurs de domaine Windows Server 2003) |
Repldiag /removelingeringobjects | Suppression par partition Exploite: - Méthode DRSReplicaVerifyObjects |
- Ligne de commande uniquement - Méthode automatisée pour supprimer les objets persistants de toutes les partitions - Découverte intégrée via DRSReplicaVerifyObjects - Affiche les objets découverts dans les événements sur les contrôleurs de domaine - Ne supprime pas les liens persistants. Ne supprime pas encore les objets persistants des contrôleurs de domaine (pour l’instant). |
Primitive rootDSE LDAP RemoveLingeringObjects (généralement exécutée à l’aide de LDP.EXE ou d’un script d’importation LDIFDE) | Suppression par objet | - Nécessite une méthode de découverte distincte - Supprime un seul objet par exécution, sauf si le script est exécuté. |
Repadmin /removelingeringobjects | Suppression par partition Exploite: - Méthode DRSReplicaVerifyObjects |
- Ligne de commande uniquement - Découverte intégrée via DRSReplicaVerifyObjects - Affiche les objets découverts dans les événements sur les contrôleurs de domaine - Nécessite de nombreuses exécutions si un nettoyage complet (n * (n-1)) est nécessaire. L’outil repldiag et l’outil Lingering Object Liquidator automatisent cette tâche. |