UPD, short for User Profile Disks, is a new disk type for Remote Desktop Services in Windows Server 2012 R2. It’s an alternative to roaming profiles and folder redirections for RDS to store user profiles as a separate VHDX disk on dedicated file storage. The disk is mounted to the user session as soon as the user logs into the RDS server and gets unmounted when the user logs off.
If you have a lot of users using RDS with UPD enabled, there will be a lot of individual UDP files stored on the file share, named with the unique GUID of the AD user, like below:
So, how to identify which UPD disk belongs to which user account?
You can use the following PowerShell cmdlet to find out the user based on the GUID.
Get-ADUser -fileter {SID - like "GUID"}
Or, find out the GUID based on the user account ID.
Get-ADUser -filter {SamAccountName -like "UserID"}
Or, even better, use this little portable standalone tool called Sidder to help you to quickly identify which UDP belongs to which AD user. You will need .Net 4.5 Framework to use this tool.
The ones in orange are the ones that are in use at the moment. The tool also allows you to delete UPD as well. Deleting UPD will result in a fresh start for that user next time when they log in.
Hi admin, i must say you have hi quality articles here.
Your page should go viral. You need initial traffic only. How to
get it? Search for: Mertiso’s tips go viral
I like the article and I use Sidder as well because it tells you what server the PD is linked to. The problem is how to unlock the PD. I do not have a fix and the more I surf no one else has one either. Here is what I try when I get a user that gets a temp profile because their PD is locked to another server.
First I log into server manager and see if I can find the user logged into the system and Log them off.
If they do not show up in server manager I log into the RDSserver that their PD is locked to and get into the registry and delete their profile from the profile list. That sometimes releases their lock but not always.
I have also reset their password I try and log in as them on the said server and see if I can login and load their profile. Sometimes that does work and sometimes it doesn’t.
The last thing that I try is kicking everyone off the server and rebooting it. However I shouldn’t have to do that.
If you know of anyway to disconnect the PD from the session host I’m all ears.
You can use this script to disconnect a “locked” UPD:
https://www.powershellgallery.com/packages/Disconnect-RDUserProfileDisk/0.99/Content/Disconnect-RDUserProfileDisk.ps1
Hi,
Sidder is a very handy tool, I use it to support users across UAT and Production environments. The UPD’s are split for UAT and Production. I also notice that Sidder remembers the folder path from session to session. Is there any way to start Sidder and provide a new UNC path as a switch or a regedit / system variable or something?
I want to hand Sidder to the servicedesk here so that they can quickly manage UPD’s without having to feed in the UNC for the storage. If I can control the stored UNC I can ringfence what the servicedesk are able to do.
Thanks
I don’t think there is a command switch that you use to specify the folder. But I do find a user.config file in the following folder that you may be able to work with.
AppData\Local\IT-WorXX\Sidder.exe_Url_0bgogf1x4ayp1ujdbhkpmqbaikftfcrl\2.0.0.0
Post back how it works out for you, if you don’t mind.