SAMBA/LDAP : impossible de charger le profil utilisateur

Environnement :
Debian 7 Wheezy
Samba avec controlleur de domaine
Annuaire LDAP
Machines clientes sous Windows 7 PRO 64 bits.
Profil local (non itinérant!)

Problème :
Du jour au lendemain, l’une des machines clientes du domaine ne peut plus se connecter. Lorsque l’on rentre son login/mdp après le traditionnel CTRL+ATL+SUPPR on tombe sur un message windows : Impossible de charger le profil utilisateur"

Le log du serveur samba pour l’utilisateur donne :

[2015/11/18 09:43:49.344358, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap) init_sam_from_ldap: Entry found for user: benraven [2015/11/18 09:43:49.346581, 2] auth/auth.c:309(check_ntlm_password) check_ntlm_password: authentication for user [benraven] -> [benraven] -> [benraven] succeeded [2015/11/18 09:43:49.350217, 2] rpc_server/samr/srv_samr_nt.c:3976(_samr_LookupDomain) Returning domain sid for domain MYDOMAIN -> S-1-5-21-338784820-3184914278-1620770501 [2015/11/18 09:43:49.351694, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap) init_sam_from_ldap: Entry found for user: benraven [2015/11/18 09:44:03.437436, 1] smbd/process.c:457(receive_smb_talloc) receive_smb_raw_talloc failed for client 10.0.0.8 read error = NT_STATUS_CONNECTION_RESET.

On voit bien que l’authentification réussie. Le problème est le “read error = NT_STATUS_CONNECTION_RESET”.

SOLUTION :
Le problème vient en réalité du WINDOWS7.
Il y a un problème sur le profil (non itinérant) du poste sous Windows 7.
La machine boot en mode sans échec avec prise en charge réseau. Mais windows passe sur le profil par défaut pour ouvrir le bureau prouvant un problème sur le profil normal.

Deux possibilités s’offrent à vous (il y en a peut-être d’autres):

Solution 1 - Démarrer via le mode sans échec avec prise en charge réseau (le profil par défaut windows sera chargé au moment du blocage) ou via un compte autre compte que celui bloqué. Créer un nouvel utilisateur et copier le profil de l’ancien vers le nouveau. Renommer ensuite le profil comme l’ancien.

Solution 2 - (recommandée) - Démarrer via le mode sans échec avec prise en charge réseau (le profil par défaut windows sera chargé au blocage).
En fait (dans 100% des cas que j’ai eu) le profil est corrompu suite à la sauvegarde de windows 7 de ce même profil (mais il y aurait d’autres raisons possible d’après des forums).
Pour que le pc puisse enfin ouvrir la session, il est nécessaire de modifier le registre (Conseil : Créer une sauvegarde du registre ou des clés avant d’effectuer les manipulations), plus particulièrement la clé ProfilList :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Là il doit y avoir des comptes utilisateurs (commençant par S-1-5-21 et se terminant par 1001, 1002 etc…). L’un des eux doit être en double : l’un avec une extention .bak, l’autre sans. Il suffit simplement de les renommer inversement (retirer l’extension .bak dans le nom du fichier). Une fois l’extension .bak supprimée du profil après le renommage, la session s’ouvrira sans problème.

J’ai pris le temps de poster ici pour aider ceux qui auront cette erreur et pour laquelle il y a peu de documentation.

A bientôt !