How to Setup Citrix User Profiles using FSLogix

This article shows the steps on how to setup Citrix User Profiles using Citrix FSLogix.

If you want to use Citrix UPM for configuration of user profiles then you can use this step by step guide:
How to Setup Citrix User Profiles using Citrix UPM

To reduce network load and speed up the user logon process, you can also redirect user’s profile folders such as Documents, Downloads, Desktop, Pictures etc. to a network share. For configuration of Folder redirection for citrix user profile you can use use the blog post:
How to Setup Folder redirection in Citrix.

If you want to utilize OneDrive for folder redirection of Windows known folders then you can check blog post:
Move windows known folders to Onedrive using Intune.

FSLogix enhances and enables user profiles in Windows remote computing environments. You can use FSLogix for user profiles management in Citrix environment. There is another User profile management solution beside FSLogix which is called as Citrix UPM. However, If you are using citrix along with office 365 environment then FSLogix will work better in my opinion. Let’s now see the steps to configure FSLogix:

Create FSLogix Profile container

Start by creating a FSLogix Profile Container / shared folder on a file server where FSLogix user profiles will be stored. FSLogix user profiles are stored in a file with .vhd or .vhdx file extention.

You can setup a shared folder along with share permissions and NTFS permissions similar to how it has been configured in my other blog post: How to Setup Folder redirection in Citrix. Once the shared folder has been created, copy the UNC path which we will be using while configuring the FSLogix policies.

I have created a folder name fslogix_ctx_profiles for storing the user profiles and configured share and NTFS permissions. Make sure the folder is accessible using the UNC Path (using \\ notation).

FSLogix Profile Container Shared folder

Download and Install FSLogix Agent on Citrix VDA

Download the FSLogix Agent https://aka.ms/fslogix_download and follow below screenshots for installing the agent. This agent needs to be installed on each Citrix VDA server. Once you download the agent, extract its contents to a folder.

Installation of FSLogix Agent on Citrix

Right click on FSLogixAppsSetup and click on Run as administrator. There is nothing complex in the installation of FSLogix, you can follow the wizard and Install the agent on Citrix VDA server / Citrix Session host server.

FSLogix Agent Install

How to configure FSLogix User profile settings

Its recommended to use Active Directory Group Policy to configure FSLogix settings and apply it to Citrix VDA servers. You can find FSLogix Administrative Template (.admx) file in the downloaded agent folder. Import .admx and .adml files on your domain controller and use it to configure FSLogix user profile settings.

I will not go into the Group Policy but I am sure its easy to find out if you know which settings to configure. Below are the basic settings you can configure in your environment which has worked for me without any issues. You can add more settings on top of this by going through each FSLogix Profile Setting and evaluate if its what you require for your scenario.

Below are the registry entries to create under registry path: HKLM\SOFTWARE\FSLogix\Profiles (create Profiles registry key if it does not exist)

VHDLocations and Enabled Registry Entries are the minimum required settings for FSLogix to work.

  • VHDLocations – specify the shared folder where FSLogix User profiles will be stored (MULTI_SZ is used if you have more than one path to for High Availablity).
  • Enabled – Setting this to 1 will enable FSLogix Profile Containers.
Registry EntryTypeValue
VHDLocations MULTI_SZ or REG_SZ\\tp-dc1\fslogix_ctx_profiles
Enabled DWORD1

Additional registry entries are created for optimizing fslogix e.g. User Profile Container File Extension, Maximum Size of the Profile Container settings along with Dynamic disk as explained below:

  • VolumeType registy entry (REG_SZ) and set its value to vhdx. This will make sure that the profile containers are created in vhdx file extension. VHDX disk is more optimized than VHD. For more information on the VHDX Files, you can read the link VHDX Overview
  • DeleteLocalProfileWhenVHDShouldApply registry entry is a REG_DWORD type, set its value to 1. This will permanently delete the local profile on the Citrix VDA’s if it exists for the user and use the fslogix profile.
  • SizeInMBs registry entry is a REG_DWORD type, set its value to a number which will be accepted as MBs. The Default value is 30000 (30GB).This is the maximum allowed size of the user profile. You can easily modify this value and increase the capacity of user profile. For example, to update the User profile maximum size limit to 50GB, update this value to 50000 (50GB). Once the limit is crossed, user may experience issues / errors during logon.
  • IsDynamic registry entry is a REG_DWORD type, set its value to 1 to make sure that the VHDX file is not allocated with space set in SizeinMBs in one go. If IsDynamic is set to 1 then the FSLogix user profile will use minimum space required on the disk and can grow upto the value set in SizeinMBs.
  • FlipFlopProfileDirectoryName registry entry is a REG_DWORD type, set its value to 1. When set to ‘1’ the SID folder is created as “%username%%sid%” instead of the default “%sid%%username%”. This setting has the same effect as setting SIDDirNamePattern = “%username%%sid%” and SIDDirNameMatch = “%username%%sid%”.
Registry EntryTypeValue
VolumeType REG_SZvhdx
DeleteLocalProfileWhenVHDShouldApply REG_DWORD1
SizeInMBsREG_DWORD30000 (30GB)
IsDynamicREG_DWORD1
FlipFlopProfileDirectoryNameREG_DWORD1

To make it quicker to create the registry keys, you can also copy below registry entries and paste it in a notepa and save it as .reg extention. Once you have saved the file, double click on the file to import these registry entries.

FSLogix_Reg_Keys_File.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles]
“VHDLocations”=”\\\\tp-dc1\\fslogix_ctx_profiles”
“VolumeType”=”vhdx”
“Enabled”=dword:00000001
“DeleteLocalProfileWhenVHDShouldApply”=dword:00000001
“SizeInMBs”=dword:00030000
“IsDynamic”=dword:00000001
“FlipFlopProfileDirectoryName”=dword:00000001
FSLogix registry keys

Exclude Users from FSLogix

By default when you install FSLogix Agent on the server, four local groups are automatically created on the server. To locate the groups, Click on Start -> Type Run -> Type compmgmt.msc -> System Tools -> Local Users and Computers -> Groups.

By default Everyone is added to the FSLogix Profile Include List and FSLogix ODFC Include List Group. You can add users / AD Security groups to FSLogix Profile Exclude List and FSLogix ODFC Exclude list to exclude users from fslogix / to not have fslogix settings applied. (If you want to manage the Office container separately, then add the users to FSLogix ODFC exclude group only. Office containers store Microsoft Office specific settings).

Below Screenshot shows the FSLogix Groups Created on Citrix VDA Server.

FSLogix Groups
FSLogix profile include list and FSLogix ODFC Include List

How to verify if FSLogix is working

Now, FSLogix User profile configuration has been complete. Once the user will login on Citrix, user’s profile folder will get created under fslogix_ctx_profiles folder. You can open a folder and find user’s profile with .vhdx extenstion file which is a FSLogix user profile.

How to verify if FSLogix is working

Conclusion

In this blogpost, we have seen how to configure FSLogix User Profiles. FSLogix user profiles are easy to setup and should be used when working with non-persistent devices where users are not having a dedicated device where they log on to. For example: Azure Virtual Desktop, Citrix, Microsoft Remote Desktop Services etc.