- Caché
UsrClass.dat C:\Users\<utilisateur>\AppData\Local\Microsoft\Windows\UsrClass.dat
Ruche de Registre HKCU\Software\Classes de l'utilisateur : associations de fichiers et enregistrements COM propres au profil ; fichier verrouillé en session.
À quoi ça sert
UsrClass.dat est le fichier de ruche (hive) qui porte la clé HKEY_CURRENT_USER\Software\Classes de l’utilisateur. Il complète NTUSER.DAT. Il contient les données de classes propres à l’utilisateur : associations de types de fichiers, enregistrements COM par utilisateur et paramètres de l’interface de l’Explorateur. Au chargement du profil, il est monté sous HKEY_USERS\<SID>_Classes.
Ce qu’il contient
Un fichier binaire au format de ruche du Registre, accompagné de fichiers de transaction (UsrClass.dat.LOG1, .LOG2) dans le même dossier. Il est caché et système. Selon l’usage, il peut aussi conserver des traces de navigation dans les dossiers de l’interface (paramètres d’affichage de l’Explorateur).
Risques et bonnes pratiques
- Un
UsrClass.datcorrompu ou absent casse les associations de fichiers, fait planter l’Explorateur ou empêche l’ouverture de session. Ne le remplacez pas : face à un profil corrompu, on crée un nouveau profil et on migre les données. - Le fichier est verrouillé tant que l’utilisateur est connecté. Pour l’ouvrir, chargez la ruche avec Regedit ou
reg loaddepuis une autre session, sur une copie, après sauvegarde. - Il garde des traces de l’activité de l’utilisateur (paramètres d’affichage de l’Explorateur, par exemple) : traitez toute copie comme une donnée personnelle.
- Sauvegardez le profil entier plutôt que ce fichier seul.
Commandes utiles
# Présence et date du fichier (caché, lecture seule)Get-Item -Force "$env:LOCALAPPDATA\Microsoft\Windows\UsrClass.dat*" | Select-Object Name, Length, LastWriteTime, Attributes
# Ruches chargées pour les utilisateurs connectésGet-ChildItem Registry::HKEY_USERS | Select-Object Name
# Lire une clé de classes de l'utilisateur courant (exemple : association .txt)Get-ItemProperty 'HKCU:\Software\Classes\.txt' -ErrorAction SilentlyContinue