Partager via


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 ».

    Capture d’écran de la Fenêtre Propriétés RPC (Remote Event Log Management) avec la règle de pare-feu activée.
    Capture d’écran de la fenêtre Détection d’objets persistante montrant l’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é.

Capture d’écran de la fenêtre Liquidator d’objets persistants.

  1. 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.

  2. 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.

    Capture d’écran du champ Contexte de nommage sous l’onglet Objets persistants.

    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.

    Capture d’écran du champ Contrôleur de domaine de référence sous l’onglet Objets persistants.

    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.

    Capture d’écran du champ Contrôleur de domaine cible sous l’onglet Objets persistants.

  3. 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.

    Capture d’écran de la fenêtre Liquidator d’objets persistants avec le bouton Détecter.

    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.

    Capture d’écran de la fenêtre Liquidator d’objets Lingering avec le nombre actuel d’objets persistants affichés dans la barre d’état.

    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.

    Capture d’écran de la fenêtre Liquidator d’objets persistants avec les objets persistants dans le volet de contenu principal affiché.

    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.

  4. 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.

    Capture d’écran de la fenêtre Liquidator d’objetlingering avec le bouton Supprimer pour supprimer un objet individuel.

    La barre d’état est mise à jour avec les objets persistants et l’état de l’opération de suppression :

    Capture d’écran de la barre d’état du liquidateur d’objetlingering.

    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

Capture d’écran du flux de travail des objets persistants.

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.