Domain 3 β€” Module 1 of 7 14%
18 of 28 overall
Domain 3: Plan and Implement User Environments and Apps Free ⏱ ~16 min read

FSLogix Profile Containers and ODFC

In pooled AVD environments, users lose their profile every time they log off. FSLogix fixes this by storing profiles in VHD(X) files that follow users between session hosts. Learn how Profile Containers and Office Data File Containers work, when to use each, and how to configure them.

Why FSLogix exists

Simple explanation

Think of it as a portable locker for your stuff.

Imagine you work in an office where you never sit at the same desk twice. Every morning, you get a random desk β€” completely empty. Your photos, files, browser bookmarks, everything is gone. That would be awful, right?

FSLogix gives each user a personal locker (a virtual hard disk). When you sit down at any desk, the locker opens and all your stuff appears β€” your desktop, your Outlook emails, your browser favourites. When you leave, the locker locks and waits for you to sit at any other desk tomorrow.

The profile problem in pooled environments

Without FSLogix in a pooled host pool, here is what happens:

  1. User logs into session host VM-01 and gets a new local profile
  2. They configure Outlook, set a wallpaper, save files to the desktop
  3. User logs off β€” the profile is deleted (non-persistent)
  4. Next day, user logs into session host VM-03 (load balancer assigned a different VM)
  5. They get another blank profile β€” all yesterday’s work and settings are gone

🎧 Mia’s nightmare: β€œBefore FSLogix, Dr. Patel called the help desk every Monday morning. Her Outlook had to rebuild the OST cache from scratch β€” a 4-minute process before she could read a single email. Multiply that by 12 clinics and 200 clinicians. We were drowning in tickets.”

FSLogix eliminates this entirely. The profile VHD(X) follows the user regardless of which session host they land on.

Profile Container β€” the full package

A Profile Container captures the entire user profile in a single VHD(X) file:

  • Desktop, Documents, Downloads, Pictures
  • AppData (application settings, browser data, cached credentials)
  • Outlook OST file and search index
  • Teams cache
  • OneDrive hydration state
  • Start menu layout and taskbar customisations
  • Registry hives (NTUSER.DAT)

How it works

  1. User signs in to a session host
  2. FSLogix checks the configured VHDLocations network path
  3. FSLogix finds (or creates) the user’s VHD(X) file
  4. The VHD(X) is mounted to the session host
  5. Windows profile path is redirected to the mounted disk
  6. User sees their full profile β€” as if it were local
  7. At sign-out, the VHD(X) is cleanly unmounted

🏒 Raj’s migration: β€œTerraStack was running Citrix with roaming profiles. Sign-in took 90 seconds. We switched to FSLogix Profile Containers and dropped to 15 seconds. Andrea, the CIO, thought I was exaggerating until she timed it herself.”

Office Data File Container (ODFC)

The Office Data File Container (ODFC) stores only Microsoft Office data in a separate VHD(X):

  • Outlook OST file and search index
  • Teams cache and meeting data
  • OneDrive cache and hydration state
  • OneNote notebooks cache
  • Office activation data

Everything else (desktop files, browser data, app settings) stays in the regular profile.

When to use ODFC instead of Profile Container

ScenarioRecommendation
Standard AVD pooled deploymentProfile Container (default, simplest)
Already have a profile solution (UPM, UE-V) and only need Office roamingODFC only
Need Office data to roam but want profiles managed separatelyODFC only
Want both complete profile AND separate Office data managementProfile Container + ODFC together
Profile Container vs Office Data File Container (ODFC)
FeatureProfile ContainerODFC
What it storesEntire user profile (everything)Only Microsoft Office data
VHD(X) contentsDesktop, Documents, AppData, Outlook, Teams, registryOutlook OST, Teams cache, OneDrive cache, OneNote
Default size30 GB30 GB
Registry keyEnabled = 1 under Profiles keyEnabled = 1 under ODFC key
Storage path keyVHDLocationsVHDLocations (under ODFC key)
Use with other profile solutionsNo β€” it IS the profile solutionYes β€” pair with UPM, UE-V, or other roaming
Typical use caseMost AVD deployments (recommended default)Hybrid scenarios with existing profile management
Can run togetherYes β€” ODFC stores Office data in a separate VHDYes β€” supplements Profile Container or other solutions
Exam tip: Profile Container is the default recommendation

Unless the question specifically mentions an existing profile management solution (Citrix UPM, Microsoft UE-V) that needs to be retained, the answer is almost always Profile Container alone. ODFC is the niche choice β€” used when you already have a working profile solution and just need to add Office data roaming on top. Using Profile Container + ODFC together is an advanced exception for specific dual-container scenarios, not the default recommendation.

If the exam says β€œnew AVD deployment” β€” think Profile Container alone. If it says β€œexisting profile solution, need to add Outlook and Teams roaming” β€” think ODFC.

Configuring FSLogix β€” the key registry settings

FSLogix is configured through registry keys under HKLM\SOFTWARE\FSLogix\Profiles (for Profile Container) or HKLM\SOFTWARE\FSLogix\ODFC (for ODFC).

Registry ValueTypeWhat It DoesExample
EnabledDWORDTurns FSLogix on (1) or off (0)1
VHDLocationsMULTI_SZNetwork path(s) where VHD(X) files are stored\\storageaccount.file.core.windows.net\profiles
SizeInMBsDWORDMaximum size of the VHD(X) file30000 (30 GB)
VolumeTypeREG_SZVHD or VHDX formatVHDX
FlipFlopProfileDirectoryNameDWORDPuts username first in folder name (1 = SID_username becomes username_SID)1
ProfileTypeDWORDControls concurrent access behaviour0
DeleteLocalProfileWhenVHDShouldApplyDWORDRemoves cached local profiles when FSLogix should take over1

VHD vs VHDX format

FeatureVHDVHDX
Max size2 TB64 TB
Corruption resilienceLower β€” no journalHigher β€” metadata journaling
PerformanceStandardBetter I/O performance
RecommendationLegacy onlyAlways use VHDX

Set VolumeType to VHDX β€” there is no reason to use VHD in new deployments.

ProfileType β€” concurrent access

ValueBehaviourWhen to Use
0Normal profile (default) β€” single concurrent connection, read-writeDefault for most pooled environments
1Read-write only β€” if the VHD is locked by another session, user gets a temporary local profileWhen you want strict read-write-only access
2Read-only only β€” profile cannot be written toSpecific lockdown scenarios
3Try read-write, fall back to read-only if VHD is lockedMulti-session concurrent access (e.g., user logged into two hosts)
Deep dive: FlipFlopProfileDirectoryName

By default, FSLogix names profile directories as SID_Username (e.g., S-1-5-21-xxx_rpatel). Setting FlipFlopProfileDirectoryName = 1 changes this to Username_SID (e.g., rpatel_S-1-5-21-xxx).

Why does this matter? When browsing the file share to troubleshoot, finding a user’s profile by username is much faster than searching by SID. Microsoft recommends enabling this setting β€” it is purely a naming convention change with no functional impact.

NTFS permissions for profile shares

Getting permissions right is critical for security and functionality:

On the Azure Files share or SMB share:

IdentityShare PermissionNTFS Permission
Creator Ownerβ€”Modify (this folder, subfolders, files)
Domain Users / AVD users groupStorage File Data SMB Share ContributorModify (this folder only)
AdministratorsStorage File Data SMB Share Elevated ContributorFull Control

The key principle: each user has Modify access to their own profile folder only. Other users cannot read or access anyone else’s profile VHD(X). FSLogix creates the user’s folder on first sign-in with the correct permissions inherited from Creator Owner.

Profile container sizing

The default 30 GB is a starting point. Adjust based on workload:

Workload TypeRecommended SizeWhy
Task workers (data entry, call centre)10-15 GBSmall profiles, minimal Office data
Knowledge workers (M365 heavy)30 GB (default)Outlook OST, OneDrive cache, Teams
Power users (developers, analysts)50-100 GBLarge datasets, multiple app caches
Healthcare (Mia’s clinicians)20-30 GBModerate Outlook use, clinical app settings

🎧 Mia’s sizing lesson: β€œWe started at 30 GB for everyone. Then we found night-shift nurses only used 3 GB, but radiologists hit 25 GB from PACS viewer caches. We created two groups with different SizeInMBs policies. Support tickets dropped by half.”

Question

What does FSLogix Profile Container store?

Click or press Enter to reveal answer

Answer

The entire user profile β€” Desktop, Documents, AppData, Outlook OST, Teams cache, OneDrive state, registry hives, Start menu layout. Everything that makes up a Windows user profile is captured in a single VHD(X) file.

Click to flip back

Question

When would you use ODFC instead of a full Profile Container?

Click or press Enter to reveal answer

Answer

When you already have an existing profile management solution (like Citrix UPM or Microsoft UE-V) handling the general profile, and you only need to add Office data roaming (Outlook OST, Teams cache, OneDrive) on top.

Click to flip back

Question

What is the recommended VHD format for FSLogix, and why?

Click or press Enter to reveal answer

Answer

VHDX. It supports larger maximum sizes (64 TB vs 2 TB), has metadata journaling for better corruption resilience, and provides improved I/O performance over the legacy VHD format.

Click to flip back

Question

What does FlipFlopProfileDirectoryName do?

Click or press Enter to reveal answer

Answer

Changes the profile folder naming from SID_Username to Username_SID (e.g., from S-1-5-21-xxx_rpatel to rpatel_S-1-5-21-xxx). This makes it easier for admins to find a user's profile folder when troubleshooting.

Click to flip back

Knowledge Check

Mia is deploying FSLogix for Horizons Health Group's pooled AVD environment. This is a new deployment with no existing profile management. She wants complete profile roaming for all clinicians. What should she configure?

Knowledge Check

Raj is configuring FSLogix for TerraStack's pooled host pool. He wants profiles stored on an Azure Files share at \\\\terrastack.file.core.windows.net\\profiles using VHDX format with a 50 GB limit. Which registry values must he set under HKLM\\SOFTWARE\\FSLogix\\Profiles?

Knowledge Check

Which NTFS permission model is correct for an FSLogix profile share?


Next up: FSLogix Cloud Cache and Application Masking β€” add high availability to profiles with Cloud Cache and control which apps users see with application masking.