Résumé des symptômes
Le problème concerne un seul utilisateur (les autres utilisateurs peuvent ouvrir leur session correctement).
Voici les messages d’erreurs possibles:
Échec de l'ouverture de session par le service de profil utilisateur Le service de profil utilisateur n'a pas pu ouvrir de session Votre session a été ouverte avec un profil temporaire
Causes possibles
- Une mise à jour de Windows qui s’est mal passée
- L’antivirus qui a bugué (mise à jour ou autre)
- Une coupure de courant
- Un secteur défectueux du disque dur
Éléments de fonctionnement du profil
C’est dans le registre qu’on trouve les éléments clé du profil, en particulier la liste de tous les profils:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
Chaque ligne correspond à un profil d’utilisateur. Mais il y a quelques profils spéciaux (SystemProfile, LocalService, NetworkService) dont le nom est plus court, de type S-1-5-19 ou S-1-5-20 par exemple.
Les profils d’utilisateurs normaux ont des clés de type S-1-5-21-656213390-3124803198-693930146-1001.
La clé intéressante est ProfileImagePath, elle indique le dossier de l’utilisateur (et permet de savoir de qui il s’agit).
Dans le dossier utilisateur, (par exemple C:UtilisateursAlex), on trouve un fichier NTUSER.dat qui représente toutes les données du registre concernant cet utilisateur.
Solutions possibles
Quelques solutions à tester dans l’ordre…
Vérifier que le dossier utilisateur existe
En se connectant avec un admin (ou bien en mode offline à partir d’une clé bootable), vérifiez que le dossier de l’utilisateur (c:Users) existe bien et est accessible. De même, il faudrait s’assurer que le service de profil utilisateur (ainsi nommé dans la console des services ou bien ProfSvc) soit bien démarré.
Vérifier s’il n’y a pas un user temporaire
Se connecteur en mode sans échec avec l’utilisateur hors-service puis ouvrir le registre. Dans la liste des profiles du registre, on peut voir une clé d’utilisateur de type XXXX.bak vers l’utilisateur qui pose problème et la même clé sans le .bak pointe vers un dossier d’utilisateur temporaire (c:UsersTEMP).
Dans ce cas là, on peut tenter tout simplement d’inverser les 2 nom de clé en 3 étapes:
- renommer clé.bak en clé.ok
- puis renommer clé en clé.bak
- enfin renommer clé.ok en clé
Avec un peu de chance, on redémarre et voilà : profil réparé!
Utiliser un point de restauration
Le résultat n’est pas garanti mais cette fonctionnalité intégré à Windows peut parfois sauver la mise avec un minimum d’effort. Pensez à vérifier que le service de restauration soit activé avant de subir un incident et adaptez l’espace utilisé (oui il vous faudra lui consacrer de l’espace disque).
Créer un nouvel utilisateur
A partir d’une session ouverte par ce nouvel utilisateur, recopier ensuite toutes les données de l’utilisateur buggué dans le dossier du nouvel utilisateur sauf le fichier NTUSER.DAT. Il faudra surement remettre correctement les droits sur toute l’arborescence. Cette solution peut vite devenir très longue puisqu’il y a souvent beaucoup de fichiers temporaires !