Mounting RDS User Profile Disks On Another Drive
User profile disks for RDP session hosts are VHD files used to store the users profile information so that it can roam with the user between session hosts. By default the UPD’s are mounted on the session hosts at login, and appear as symlinks under the C:\users folder so that applications can access them using standard profile paths, this all works fine without any setup required.
There may be some occasions where you need to change where these are mounted, for example in an Azure hosted RDS environment I needed to have these mounted under the temporary D drive so that access to the C drive could be completely locked down. Because the user data is stored in the UPD, rather than the drive it is mounted under it doesn’t matter that this drive is temporary, as data is persisted to the UPD.
To change this location it is a simple matter of changing where user profiles are stored on each session host, this in turn automatically changes where the UPD is mounted. This can be done by changing a registry key, this will need to be done on each session host so you may want to set this up as a GPO.
They key is located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, look for the ProfilesDirectory key and change this to the location you want the profiles to be stored. Reboot the session host and then test.
It should be noted that the only benefit to do this is to change the path and drive letter that is used for the profile. The profile data isn’t actually stored on the chosen drive, just mounted under it, so you don’t gain any performance benefit from using an SSD drive or similar.