Our network consists of a Main Domain Controller Server with Active Directory installed, a server which acts as a Remote Desktop Connection Broker and Gateway and Multiple Remote Desktop Servers. We use User Profile disks to hold each person's profile to ensure that they get the same Desktop / Outlook Profile / etc. regardless of which server they end up logging into.
Note: User Profile disks are stored in a central location and dynamically mounted as c:\users\username as a person logs into a server.
On occasion a user will try and log in and find that they are presented with a "Temporary Profile". This is a problem for the user as none of their settings, icons, Outlook settings, etc. are available.
The reason this occurs is because the virtual hard drive is still mounted on a different server to the one that the user has just tried logging in to.
The first part of this fix is optional but it does give you an understanding of how everything hangs together plus it allows you to verify that you are detaching the correct disk.
Log on to each of your remote desktop servers and ensure that the user is not logged on another machine possible with a disconnected session. If you do just log the person off.
It is possible that you may find some orphaned sessions - These are sessions that may not have completed starting up. You will find that you cannot log these off.
In our case we found that the login was getting stuck trying to map printers defined in Group Policy. To resolve this we just restarted the print spooler on that remote desktop server and problem resolved itself.
Log on to a Remote desktop server that the user is currently logged into as the administrator
Open up Regedit and go to HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
Scroll through all the profiles keeping an eye on the ProfileImagePath of each profile until you find one which matches the username of the user with the issue. It will be in the format of c:\users\username.
Note down corresponding key. In practice the last four digits of the key is enough. In the example below it is 1229.
The user should now log off
Go to the Server which holds the User Profile Disk Share
Open up Windows Explorer and locate the shares
You should find a file which matches your key in the format of UVHD-KEY.vhdx where "KEY" is replaced with the key you found from step one.
On that same server open up a command prompt
Run the following command:
- openfiles.exe /query /s servername
(replace servername with the name of the server containing the files)
Locate the file that relates to your user's profile disk and note the server that is accessing it. In this case the server name is "EXO-TS6" (ignore the $)
Log into the Remote Desktop server you found above (EXO-TS6 in our example) as administrator
Open up Server Manager and go to File and Storage Services and under Volumes select Disks
Scroll through each disk taking note of volume below. You are looking for the path c:\users\username where the username corresponds to the username of the user experiencing the temporary user profile issue.
Once you have found it note down the Disk Number
On that same computer open up Disk Management. You can do this by pressing the keys Win+X and selecting Disk Management or by running diskmgmt.msc
Locate the disk that we found in the step above (in our example Disk 2) and right click on it
From the menu select to "Detach VHD"
Confirm that the file name corresponds to the name of the file we identified in Step 1 and press OK
Your user will now be able to log back in and their profile will be available for them to use