Configuring FSLogix profile containers on Windows Server RDS

To configure FSLogix profile containers on Windows Server RDS, install FSLogix Apps on every session host, create an SMB share with the right NTFS permissions, then set Enabled to 1 and VHDLocations to the share path under HKLM\SOFTWARE\FSLogix\Profiles.

This guide covers the share permissions, the registry values Microsoft recommends, Group Policy deployment to every host, advanced settings, verification with frx.exe and fixes for temporary or empty profiles.

Configuring FSLogix profile containers on Windows Server RDS
The FSLogix folder under Administrative Templates holds Profile Containers, ODFC Containers, Cloud Cache Service and Logging settings. (Image: Microsoft)

Set up FSLogix profile containers on an RDS session host

These are the minimum steps for one Remote Desktop Session Host. Repeat the install and registry steps on every host in the collection, or push them with Group Policy.

  1. Create an SMB file share for the profiles and apply the recommended NTFS permissions (CREATOR OWNER, your admin group and your users).
  2. Sign in to the session host as an administrator and run FSLogixAppsSetup.exe from the x64\Release folder of the FSLogix download.
  3. Agree to the licence terms, select Install, and restart the server.
  4. Open Registry Editor and go to HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles.
  5. Create a DWORD named Enabled with the value 1.
  6. Create a REG_SZ or MULTI_SZ value named VHDLocations that holds the share path, for example \\fileserver.contoso.com\fslprofiles.
  7. Create a REG_SZ value named VolumeType with the data VHDX.
  8. Sign in through Remote Desktop as a standard user and confirm a new folder with a VHDX file appears on the share.

What are FSLogix containers?

FSLogix redirects a Windows user profile into a virtual hard disk that is stored on network storage and mounted at sign-in. Applications see the profile as if it were on the local disk, because a filter driver handles the redirection at the file system level.

Container What it holds When to use it on RDS
Profile container The whole Windows user profile in one VHD or VHDX, including Microsoft 365 data The default choice; Microsoft recommends a single profile container
ODFC container Only the Office data: Microsoft 365 apps, OneDrive, Teams, SharePoint and OneNote When another profile solution already manages the rest of the profile
Cloud Cache A profile or ODFC container replicated to more than one storage provider High availability or disaster recovery for the profile store
Application Rule Sets Rules that hide or show apps, fonts and printers by user, group or IP address Reducing the number of gold images on the session hosts

If a profile container is configured, an ODFC container is not needed, because the profile container already includes the Microsoft 365 data.

FSLogix requirements for Windows Server RDS

Requirement Detail
Supported server Windows Server 2016, 2019, 2022 and 2025 are listed as supported, along with Windows 10 and Windows 11
Licence An RDS Client Access License (CAL) or RDS Subscriber Access License (SAL) makes users eligible; Microsoft 365 E3/E5, A3/A5, F1/F3 and Business also qualify
Storage An SMB file share with NTFS and share-level permissions, Azure Files or Azure NetApp Files
Account A local administrator account on each session host to install FSLogix and edit the registry
FSLogix version The latest release; Microsoft requires it before it opens a support case
Kerberos Shares hosting containers should be moved from RC4 to AES-SHA1 before the April 2026 Windows Server update changes the default encryption type
Security exclusions Microsoft lists FSLogix services, drivers, folders and the VHD/VHDX files on the share as exclusions for antivirus scanning, to avoid locked containers and slow sign-ins

Create the FSLogix profile share and NTFS permissions

Each user should reach only their own profile folder, while administrators keep Full Control. Microsoft calls this user-based access and recommends it for every SMB share that stores containers.

  1. Open File Explorer at the root of the file share, right-click an empty area and select Properties.
  2. Select the Security tab, then Advanced.
  3. Select Disable inheritance and choose to remove the inherited permissions instead of copying them.
  4. Select Add, then Select a principal, type CREATOR OWNER, select Check Names and OK.
  5. Set Applies to to Subfolders and files only, set Basic permissions to Modify, and select OK.
  6. Add your administrators group with Full Control on This folder, subfolders and files.
  7. Add the users who sign in to RDS (for example Domain Users) with Modify on This folder only.
  8. Select OK twice to apply the permissions.

The users group needs Modify on the root only so it can create its own profile folder; CREATOR OWNER then gives each user rights to that folder alone.

FSLogix profile share NTFS permissions in Advanced Security Settings
CREATOR OWNER applies to subfolders and files only, while Administrators and SYSTEM keep Full control on the share. (Image: Microsoft)

Set FSLogix share permissions with icacls

icacls \\fileserver.contoso.com\fslprofiles /inheritance:r
icacls \\fileserver.contoso.com\fslprofiles /grant:r "CREATOR OWNER":(OI)(CI)(IO)(M)
icacls \\fileserver.contoso.com\fslprofiles /grant:r "CONTOSO\Domain Admins":(OI)(CI)(F)
icacls \\fileserver.contoso.com\fslprofiles /grant:r "CONTOSO\Domain Users":(M)

The first line removes inherited permissions. The next three grant CREATOR OWNER Modify on subfolders and files only, the admin group Full Control everywhere, and Domain Users Modify on the root folder. Replace the server, share and group names with your own.

You should see: The Security tab of the share root, under Advanced, shows only the three entries with inheritance disabled.

How to install and configure FSLogix for user profiles on Windows Server RDS

Install FSLogix Apps on every session host; the same installer handles new installs and upgrades. The Rule Editor is only needed on an administrator workstation.

  1. Extract the FSLogix .zip file on the session host and open x64, then Release.
  2. Double-click FSLogixAppsSetup.exe, agree to the licence terms and select Install.
  3. Restart the session host when setup finishes.
  4. Open Registry Editor and go to HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles.
  5. Add the values from the registry table below: at minimum Enabled, VHDLocations and VolumeType.
  6. Add DeleteLocalProfileWhenVHDShouldApply = 1 only after you have checked which local profiles exist on the host.
  7. Repeat on every host in the RDS collection, or deploy the values with Group Policy.

For scripted builds, FSLogixAppsSetup.exe /install /quiet /norestart installs silently; /log log.txt writes an install log and /uninstall removes the product.

Install FSLogix on Windows Server RDS with FSLogixAppsSetup.exe
Tick I agree to the license terms and conditions to unlock the Install button, then restart the session host. (Image: Microsoft)

FSLogix profile container registry settings for RDS

These are the values Microsoft lists for a standard profile container, all under HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles.

Value name Type Data Purpose
Enabled DWORD 1 Required; turns profile containers on
VHDLocations MULTI_SZ or REG_SZ \\server\share Required; where containers are found or created. Separate several paths with a semicolon in REG_SZ
VolumeType REG_SZ VHDX Recommended; VHDX supports larger sizes and fewer corruption cases than the default VHD
DeleteLocalProfileWhenVHDShouldApply DWORD 1 Recommended; deletes a local profile so the container is used instead
FlipFlopProfileDirectoryName DWORD 1 Recommended; names folders username_SID so the share is easier to browse
LockedRetryCount DWORD 3 Recommended; faster failure when a container is locked
LockedRetryInterval DWORD 15 Recommended; seconds between locked-file retries
ReAttachRetryCount DWORD 3 Recommended; faster failure on reattach
ReAttachIntervalSeconds DWORD 15 Recommended; seconds between reattach attempts
ProfileType DWORD 0 Default; one read-write connection per container
SizeInMBs DWORD 30000 Default; maximum container size in MB

Set FlipFlopProfileDirectoryName at first deployment. Changing it after containers exist makes FSLogix look for folders that are not there and give users new, empty profiles.

Add FSLogix registry settings with PowerShell

$VHDLocations = "\\fileserver.contoso.com\fslprofiles"
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name Enabled -PropertyType dword -Value 1 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name VHDLocations -PropertyType string -Value $VHDLocations -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name VolumeType -PropertyType string -Value vhdx -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name FlipFlopProfileDirectoryName -PropertyType dword -Value 1 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name LockedRetryCount -PropertyType dword -Value 3 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name LockedRetryInterval -PropertyType dword -Value 15 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name ReAttachRetryCount -PropertyType dword -Value 3 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\FSLogix\Profiles -Name ReAttachIntervalSeconds -PropertyType dword -Value 15 -Force

Run it in an elevated PowerShell window on each session host. It writes the required values and the recommended retry timings. Add DeleteLocalProfileWhenVHDShouldApply separately once local profiles have been reviewed.

You should see: Each New-ItemProperty line prints the value name and data, and Registry Editor shows the values under HKLM\SOFTWARE\FSLogix\Profiles.

Configure FSLogix with Group Policy for all RDS hosts

A domain GPO linked to the session host OU keeps every host identical. FSLogix ships fslogix.admx and fslogix.adml in its download for this.

  1. Copy fslogix.admx to %systemroot%\sysvol\domain\policies\PolicyDefinitions on a domain controller.
  2. Copy fslogix.adml to the language subfolder, for example PolicyDefinitions\en-us.
  3. Open Group Policy Management, right-click the OU that holds the session host computer accounts and select Create a GPO in this domain, and Link it here….
  4. Name the GPO, select OK, then right-click it and select Edit.
  5. Expand Computer Configuration > Policies > Administrative Templates > FSLogix.
  6. Enable the profile container settings and fill in the VHD location, then select OK on each.
  7. On a session host, run gpupdate /target:computer /force to force a Group Policy update without waiting for the refresh cycle.

Settings under HKLM\SOFTWARE\FSLogix are written as preferences, not policies. Removing the GPO or setting a value to Not Configured leaves the registry value on the host, so change the value explicitly when you need to undo it.

Configure FSLogix VHD Locations policy with Group Policy for RDS hosts
Set the policy to Enabled and type the share path; it writes the VHDLocations REG_SZ value under HKLM\SOFTWARE\FSLogix\Profiles. (Image: Microsoft)

Advanced FSLogix profile configuration on Windows Server RDS

Match your RDS situation to a row. Every value below lives under HKLM\SOFTWARE\FSLogix\Profiles unless stated.

Your situation Setting Value and effect
Keep disk use on the share low IsDynamic (DWORD) 1 (default): the VHDX grows only as data is written, up to SizeInMBs
Users run out of space in the profile SizeInMBs (DWORD) Raise the number; existing containers expand at next sign-in. It cannot be lowered to shrink existing disks
Users open sessions on two hosts at once ProfileType (DWORD) 3: try read-write, fall back to read-only, using differencing disks
Users open two sessions on the same host fSingleSessionPerUser under HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server 0, with fDenyTSConnections = 0, plus ProfileType 3
Block sign-in if the container fails to attach PreventLoginWithFailure (DWORD) 1: loads FRXShell and the user can only sign out
Block sign-in with a Windows temporary profile PreventLoginWithTempProfile (DWORD) 1: same FRXShell behaviour when a temp profile is created
Keep caches or folders out of the container RedirXMLSourceFolder (REG_SZ) and redirections.xml Path to the folder holding redirections.xml; it is copied into the profile at sign-in
Set folder permissions at creation SIDDirSDDL (REG_SZ) An SDDL string applied to each new user folder
Replicate profiles to two storage locations CCDLocations (REG_SZ or MULTI_SZ) Cloud Cache provider list used instead of VHDLocations
Keep admins or pilot users out of FSLogix FSLogix local include and exclude groups Add accounts to the profile exclude group in Computer Management; the include group contains Everyone by default

OneDrive does not support concurrent or multiple connections to the same container, so test ProfileType 3 with OneDrive users before rolling it out.

FSLogix profile include and exclude groups in Computer Management
Add accounts to FSLogix Profile Exclude List to skip containers; the include group contains Everyone by default. (Image: Microsoft)

Verify the FSLogix profile container is attached

  1. Sign in to the session host through Remote Desktop as a standard user.
  2. Right-click Start and open Terminal.
  3. Run cd "C:\Program Files\FSLogix\Apps".
  4. Run .\frx.exe list-redirects and confirm a line maps \Users\<username> to a volume ending in \Profile.
  5. Run frx version to confirm the installed FSLogix version.
  6. Open the VHDLocations path in File Explorer, open the user's folder and confirm the Profile_<username>.vhdx file exists.

Event Viewer also records each attach under Applications and Services Logs > FSLogix > Apps.

Verify FSLogix profile container attach in Event Viewer FSLogix logs
Attach events are recorded under Applications and Services Logs, then Microsoft, FSLogix and Apps. (Image: Microsoft)

FSLogix profile not loading on RDS: temp profile and access denied fixes

Start with the newest file in C:\ProgramData\FSLogix\Logs\Profile and search for LoadProfile: <username>. Each error line carries a code that points to one of the causes below.

User gets a normal local profile and no VHDX is created

FSLogix is installed but profile containers are not enabled, or VHDLocations is missing or wrong.

  1. Open HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles on the host.
  2. Confirm Enabled = 1.
  3. Confirm VHDLocations exists as REG_SZ or REG_MULTI_SZ, with semicolons between multiple REG_SZ paths.
  4. Open the path as a test user to prove the host can reach it.

"Failed to attach VHD (Access is denied)" in the profile log

NTFS, share-level or Azure RBAC permissions on the storage are wrong.

  1. Compare the share root permissions with the CREATOR OWNER, admin and users entries above.
  2. Confirm the users group has Modify on This folder only at the root.
  3. For Azure Files, confirm the share-level role is assigned to the users.
  4. Sign out the user and sign in again.

Temporary profile because the profile is in use on another host

The user did not sign out of a session on another host, and the default ProfileType allows only one read-write attach.

  1. Sign the user out of the session on the other host.
  2. Ask the user to sign in again.
  3. If users need sessions on several hosts, set ProfileType to 3 and test it first.

FSLogix ignores the container because a local profile exists

FSLogix honours an existing local profile by default.

  1. Review which local profiles exist on the host and back up any data you need.
  2. Set DeleteLocalProfileWhenVHDShouldApply = 1.
  3. Have the user sign in again so the container is attached.

User sees an empty profile after a settings change

FlipFlopProfileDirectoryName, SIDDirNameMatch, SIDDirNamePattern, VHDNameMatch or VHDNamePattern was changed after containers existed.

  1. Check the folder names on the share: SID_username or username_SID.
  2. Set the registry value back so it matches the existing folders.
  3. Restart the FSLogix Apps Services (frxsvc) and have the user sign in again.
  4. The old data stays on the share at the original path.

Sessions hang or new users get temp profiles when the share is full

The storage provider has reached its capacity.

  1. Check free space on the file server or the Azure Files quota.
  2. Increase the storage capacity.
  3. Sign the affected users out and back in.
FSLogix profile not loading: read the Profile log for LoadProfile lines
Logs sit in C:\ProgramData\FSLogix\Logs\Profile; search the newest file for LoadProfile and the user name. (Image: Microsoft)

FSLogix status and reason codes explained

The profile log sets a Status and a Reason for every sign-in. Status 0 is success; other low numbers are errors, and the Reason explains why a profile was skipped.

Code in the log Meaning What to check
Status 12 Can't attach to virtual disk Permissions and file locks on the share
Status 25 Maximum sessions reached ProfileType and concurrent session settings
Status 27 Can't find virtual disk at the provided location VHDLocations path and folder naming settings
Reason 1 User isn't a member of the include group FSLogix profile include group membership
Reason 2 User is a member of the exclude group FSLogix profile exclude group membership
Reason 3 A local profile for this user exists DeleteLocalProfileWhenVHDShouldApply
Reason 7 Profile is a Windows temporary profile Earlier attach errors in the same log

FSLogix on Windows Server RDS FAQ

Can FSLogix be used with Windows Server RDS without Azure?

Yes. FSLogix runs in any public or private data center as long as users are licensed, and an on-premises SMB file share works as the profile store. An RDS CAL or RDS SAL is one of the licences that makes a user eligible.

Which Windows Server versions support FSLogix profile containers?

Microsoft lists Windows Server 2016, 2019, 2022 and 2025 as supported, along with Windows 10 and Windows 11. Install the latest FSLogix release on each session host, because Microsoft requires it before opening a support case.

Do I need an ODFC container as well as a profile container?

No. A profile container already includes all Microsoft 365 application data, so an ODFC container adds nothing. ODFC is meant for environments where another product manages the rest of the user profile.

Should FSLogix use VHD or VHDX on RDS?

Use VHDX. The VolumeType default is VHD, but Microsoft recommends VHDX because it supports larger disks and has fewer corruption scenarios. Set VolumeType to VHDX before users sign in for the first time.

What size should an FSLogix profile container be?

The default SizeInMBs is 30000, about 30 GB. With IsDynamic at its default of 1, the file on the share grows only as data is written. You can raise SizeInMBs later, but lowering it never shrinks existing containers.

Where are FSLogix logs stored on the session host?

Text logs are in C:\ProgramData\FSLogix\Logs, with profile sign-in logs in the Profile subfolder. Event Viewer also has FSLogix logs under Applications and Services Logs, split into Admin and Operational.

Can a user have sessions on two RDS hosts with one FSLogix profile?

Yes, with ProfileType set to 3. The first host takes the read-write role and later hosts fall back to read-only differencing disks. OneDrive does not support this setup, so test it before production.

Does removing the FSLogix GPO turn FSLogix off?

No. Profile settings under HKLM\SOFTWARE\FSLogix are written as preferences, so they stay in the registry after the GPO is removed or set to Not Configured. Set Enabled to 0 explicitly to turn profile containers off.

Philip Celasco

Philip is a Texas-based technology writer and IT administrator at Techdows.com with more than 10 years of experience creating practical content for everyday users and professionals. He specializes in web browsers, particularly Chromium-based platforms such as Google Chrome, Microsoft Edge, Brave, and Opera. Through his work as an IT administrator, Philip has hands-on experience managing devices, configuring browser policies, troubleshooting software and network issues, and helping people resolve problems that affect productivity and security. His articles are based on practical testing and real-world technical experience. He covers browser settings, extensions, performance problems, privacy controls, security features, and Windows troubleshooting. Outside work, Philip enjoys the quieter side of life in Texas and stepping away from the screen when he can. He has two kids, two cats and loves to play golf with his mother during the weekends.

Leave a Reply

Your email address will not be published. Required fields are marked *