Ok, so, in my wonderful hazy ignorance, I recently was doing a clear up of a profile list on a Server 2008 Terminal Server.
On first look, I found the C:\Users\ folder to contain several hundred versions of the same profile (named .001, .002 etc). So I proceeded to delete them all, keeping the most recent one.
On a couple of profiles I must have deleted all the folders because when it came to deleting them it came up with an error that the files were in use and this included the NTUSER.DAT. Anyway, once the user logs on it loads them with a temporary profile.
Now, If i’d of been clever and looked on the net I’d of known that the registry just creates a version of the SID in the profileslist key in the registry, and I could just rename this to .bak and we’d be away. But this is where the similarities end…
In my wisdom I remembered how Windows 7 works, and that you can just delete the registry key HKLM\software\microsoft\windows nt\current version\profilelist\ and then the users SID and all is fine. Wrong, not in this case anyway. Whether this is because it is Server 2008 or not, I don’t know but when the user went to log on I got the error ‘The user profile service failed the logon’ and then the RDP session logged me out.
I’ll keep this short and sweet and push straight to the answer, rather than bore you with the 2 hours of trying different things I tried.
I first, logged the user on to a Server 2008 server, a normal generic one, I then logged them out and logged in myself. I copied their profile from this server back in to the terminal server. I then logged in to regedit and found their SID in the profilelist key. I right clicked and clicked export. I dumped this on the terminal server and logged into the terminal server and doubled clicked the reg file to add the values back in to the terminal servers registry. Got the user to log back in and all was fine!
Thank god for that…