Jump List Parser
Retour au blog

Comment vider ou supprimer les Jump Lists de Windows

2026-05-254 min de lecture

Trois façons de procéder : le bouton dans Paramètres, supprimer les fichiers directement, ou désactiver la fonctionnalité via une stratégie. Les trois suppriment ce que l'utilisateur voit dans la barre des tâches. Aucune ne supprime la trace. Si vous êtes venu ici pour nettoyer votre historique avant de rendre un ordinateur portable, lisez d'abord la dernière section.

Vider via Paramètres (Win 10 / 11)

Paramètres → Personnalisation → Accueil → désactivez "Afficher les éléments récemment ouverts dans les Listes de raccourcis dans Accueil, les Listes de raccourcis et l'Explorateur de fichiers". Windows masque les éléments récents dans la barre des tâches et dans le menu Démarrer. Sur la plupart des builds, cela supprime également les fichiers existants *.automaticDestinations-ms et *.customDestinations-ms dans AppData\Roaming\Microsoft\Windows\Recent\. Sur quelques anciens builds, cela ne les cache que. Confirmez en listant le dossier ensuite.

Pour une seule entrée, faites un clic droit sur l'élément dans la Jump List de l'application et choisissez "Supprimer de cette liste". Cela réécrit le fichier hôte sur place : le flux LNK numéroté est retiré du conteneur OLE, la ligne correspondante de DestList est supprimée, et le nombre d'entrées et le numéro de révision de l'en-tête s'incrémentent.

Supprimer les fichiers directement

Les deux dossiers sont :

  • %AppData%\Microsoft\Windows\Recent\AutomaticDestinations\
  • %AppData%\Microsoft\Windows\Recent\CustomDestinations\

Chaque nom de fichier est <AppID>.automaticDestinations-ms ou <AppID>.customDestinations-ms. L'AppID est une chaîne hexadécimale en minuscules de 16 caractères dérivée d'un CRC64 tronqué du chemin de l'exécutable. Le même binaire au même chemin produit la même AppID sur chaque machine, c'est pourquoi la liste d'AppID livrée avec JLECmd d'Eric Zimmerman fonctionne.

Le hic : tant qu'explorer.exe tourne, le shell conserve des handles ouverts sur les AppIDs de toute application actuellement épinglée ou récemment utilisée. Une suppression simple échoue avec une violation de partage. Trois options qui fonctionnent réellement :

  1. Déconnecter l'utilisateur (libère les handles), se reconnecter, supprimer depuis un autre compte ou depuis un shell admin.
  2. Tuer et redémarrer explorer.exe. Brutal, mais ça marche.
  3. Monter le volume depuis WinPE ou un autre OS et supprimer de là.

Désactiver via stratégie de groupe ou registre

Pour empêcher Windows d'écrire de nouvelles entrées du tout :

Configuration utilisateur → Modèles d'administration → Menu Démarrer et barre des tâches → "Ne pas conserver l'historique des documents récemment ouverts".

Valeur de registre équivalente :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    NoRecentDocsHistory  REG_DWORD  = 1

Avec cette stratégie activée, le shell cesse d'écrire de nouvelles entrées dans AutomaticDestinations et cesse de mettre à jour les horodatages de DestList. Les fichiers existants sont laissés intacts jusqu'à ce que quelque chose les efface. La stratégie elle-même est elle-même un indice, elle laisse une empreinte dans le registre qu'un examinateur compétent repérera avant même de regarder Recent\.

Ce que "vidé" signifie vraiment d'un point de vue forensique

C'est la partie que la plupart des articles "comment effacer vos traces" sautent. Supprimer les fichiers Jump List actifs supprime un artefact. Un examinateur compétent ne regarde pas seulement le système de fichiers en direct.

Résidus qui survivent à un vidage :

  • Volume Shadow Copies, les snapshots plus anciens contiennent encore les fichiers .automaticDestinations-ms d'avant la suppression, souvent des mois en arrière. vssadmin list shadows les énumère ; mklink /d monte chacun d'eux.
  • Journal USN, $UsnJrnl:$J enregistre la création, la suppression et le renommage de chaque fichier Jump List avec des codes de raison et des horodatages. La suppression elle-même est journalisée.
  • Enregistrements $MFT, les entrées pour les fichiers Jump List supprimés persistent jusqu'à être écrasées. Les petits fichiers (sous ~700 octets) peuvent être résidents dans l'enregistrement MFT lui-même et entièrement récupérables.
  • Artefacts complémentaires, fichiers LNK dans Recent\, Prefetch, ShellBags, RecentDocs dans NTUSER.DAT, et historique du navigateur corroborent la même activité utilisateur sous différents angles. Effacer uniquement les Jump Lists les laisse tous intacts.
  • ShimCache et AmCache, enregistrent l'exécution des programmes au niveau machine, intacts par l'effacement des MRU en mode utilisateur.
  • SRUM, l'utilisation des ressources d'application continue de journaliser l'activité réseau et CPU par exécutable.

Il y a aussi l'indice que personne ne planifie : au moment où l'utilisateur ouvre le prochain élément suivi, Windows écrit un nouveau fichier AutomaticDestinations pour cette AppID et démarre une nouvelle DestList. Un répertoire Recent\ dont les horodatages et les versions de DestList se regroupent tous autour de la même date récente, sans contenu plus ancien, est en soi le constat. Les examinateurs lisent l'absence comme une preuve.

Si vous avez un cas "ils ont effacé leurs traces" à traiter, le guide DFIR est la prochaine lecture.

Pour aller plus loin