Skip to main content
FSLogix components interact across your virtual desktop environment—from the session host to backend storage

FSLogix

FSLogix stores user profiles in VHD/VHDX containers for fast logins. Where it breaks and how it compares to Citrix CPM and Omnissa DEM.

Amol Dalvi | June 20, 2025

What is FSLogix?

FSLogix is Microsoft's profile management technology for virtual desktop environments. It stores each user's full Windows profile inside a VHD or VHDX container on a network share, then mounts that container at login instead of copying files across the network. Login times drop, settings persist across sessions, and IT gets centralized storage to manage and back up.

Microsoft acquired FSLogix in 2018 and bundled it into Microsoft 365 E3 and E5 licenses, plus Azure Virtual Desktop access rights. E7 includes full E5 entitlements, so it qualifies too. If you're running Azure Virtual Desktop, FSLogix is likely already in your licensing. It also works with Citrix, Omnissa Horizon, and on-premises RDS.

Broad license inclusion makes FSLogix the default profile tool for most organizations. But "included in your license" doesn't mean "zero configuration." Profile containers introduce storage decisions, sizing constraints, and failure modes that catch teams off guard. This guide covers how the components work, where they break, and how they compare to alternatives.

What are the key components of FSLogix?

FSLogix includes five components that handle different parts of the profile lifecycle: storing profiles, caching them for availability, controlling application access, and managing Java versions.

The FSLogix Profile Container redirects the entire user profile to a virtual hard disk (VHD/VHDX) stored on a network share.

Profile Container is the core. It redirects the entire Windows user profile into a VHD/VHDX file on a network share. When a user logs in, the FSLogix agent mounts that container so the OS treats the profile as local. Full AppData capture (including AppData\Local, which roaming profiles skip) means settings, credentials, and application state all persist between sessions.

Office Container separates Microsoft Office data (Outlook OST files, OneDrive caches) from the main profile. Running it alongside Profile Container keeps the primary container smaller, so a bloated Outlook cache doesn't inflate the whole profile.

Cloud Cache keeps users connected to their profiles during storage outages. It maintains a local cache on the session host and synchronizes with up to four storage locations. If the network drops or a storage provider goes offline, the session host falls back to its local copy.

Application Masking controls which applications, fonts, and resources a user can see on a given session host. You can install every application on a single golden image and use role-based rules to hide the ones specific groups don't need. Changes apply dynamically without logoff or reboot.

Java Version Control isolates Java runtime versions per application or URL. If your environment runs apps requiring Java 8 alongside apps that need Java 11, this prevents version conflicts that would otherwise require separate images.

These components cover the full profile lifecycle, but each one adds configuration surface area. That's where things go wrong.

Where does FSLogix run, and what can go wrong?

FSLogix runs on every major virtual desktop platform: Azure Virtual Desktop, Citrix Virtual Apps and Desktops, Omnissa Horizon, Parallels RAS, and Windows Server Remote Desktop Services. Anywhere you're running multi-session or non-persistent desktops, FSLogix can manage profiles.

In Azure Virtual Desktop deployments, it mounts profiles from Azure Files or Azure NetApp Files. The session host VM connects to the SMB share, the agent attaches the user's VHD/VHDX, and the user gets their full profile regardless of which host they land on.

FSLogix integrates seamlessly with Azure VDI deployments to enhance user profile management in virtual environments

Four failure modes show up repeatedly when FSLogix is misconfigured.

Slow storage is the most common cause of FSLogix problems. Profile containers depend on low-latency SMB access. If IOPS on Azure Files are underprovisioned or the network path between session hosts and storage is congested, users see slow logins and sluggish applications. They won't blame FSLogix. They'll blame IT.

Container size limits catch teams who don't plan for growth. The default maximum is 30 GB per profile container. Once a user hits that ceiling, writes fail silently or throw errors that prevent new data from saving. Outlook OST files, Teams caches, and browser data are the usual offenders.

Profile corruption from improper shutdowns or storage interruptions can make a container unmountable. Without a backup strategy, you're rebuilding that user's profile from scratch.

Network outages prevent containers from mounting. If session hosts can't reach the storage share, profiles don't load. Cloud Cache mitigates this with local caching, but it adds its own configuration and storage costs.

Have you stress-tested your FSLogix storage under peak login load? If 500 users log in within a 15-minute window every Monday morning, your IOPS math from a Tuesday afternoon test won't hold.

FSLogix vs. Citrix Profile Management, Omnissa DEM, and Roaming Profiles

FSLogix covers more ground than any other profile management tool.

Feature / Capability FSLogix Profile Container Citrix Profile Management (CPM) Omnissa DEM Microsoft Roaming Profiles
Profile storage method VHD/VHDX container File-based or container-based File-based (AppData\Roaming) File-based
AppData\Local support Full Partial Limited Limited
Office 365 optimization Yes (Office Container) Yes (recent versions) No No
Concurrent session support Yes (read/write with Cloud Cache) Yes (multi-session write-back) No No
Cloud Cache / HA support Yes Yes (recent versions) No No
Application masking Yes No No No
Java version control Yes No No No
Storage optimization Disk compaction Disk compaction, de-duplication No No
Ease of management Simple configuration Advanced policy control Granular settings Basic
Best fit for AVD, Citrix, Omnissa Horizon, RDS Citrix Virtual Apps and Desktops Omnissa Horizon Legacy environments

 
FSLogix's full AppData\Local capture and application masking are capabilities no competitor matches. CPM has narrowed the gap with container-based profiles and de-duplication in recent versions, but it's built for Citrix environments. Omnissa DEM handles user settings within Omnissa Horizon but doesn't containerize the full profile. Roaming Profiles is a legacy approach that Microsoft no longer recommends for new deployments.

If you're running Azure Virtual Desktop, FSLogix is the natural fit. It's included in your licensing, it's built for the platform, and Microsoft actively develops it. If you're in a Citrix-heavy environment, CPM is likely the better choice. Pick the tool that matches your desktop delivery platform.

How to deploy FSLogix

Three things determine whether your FSLogix deployment runs cleanly or generates support tickets: storage, profile hygiene, and system hardening.

Storage configuration. Co-locate your profile storage in the same Azure region as your session hosts. Use a storage tier that delivers the IOPS your peak login load requires. Azure Files Premium or Azure NetApp Files are the standard choices for Azure Virtual Desktop. Enable Cloud Cache if you need high availability across regions, and size your Azure Files shares to handle both profile count and individual container growth.

Profile hygiene. Use the redirections.xml file to exclude volatile folders (Downloads, Temp, browser caches) from the profile container. Set container size limits that match your environment's actual usage patterns, not the 30 GB default. Monitor profile sizes regularly. A single user with an unbounded Outlook OST file can eat storage budget meant for dozens of profiles.

System hardening. Exclude FSLogix VHD/VHDX files from antivirus scanning, or you'll add seconds to every login. Set NTFS and share permissions correctly on the storage location before your first user logs in. Deploy FSLogix settings via Group Policy for domain-joined environments, or via Microsoft Intune for cloud-native management of Azure Virtual Desktop hosts.

Get any of these wrong (especially permissions) and you'll hit the failure modes from the previous section. At scale, the manual work adds up fast.

How Nerdio Manager simplifies FSLogix management

Nerdio Manager automates the storage setup, settings deployment, and agent installation that FSLogix requires across every host pool. Editing registry keys, configuring permissions, and provisioning storage manually takes hours per host pool. With Nerdio, you walk through a guided workflow in the console instead.

For Azure Files, Nerdio handles storage account creation, Active Directory domain join, role assignments, and NTFS permissions in one sequence. For Azure NetApp Files, you select the volume and Nerdio configures the rest. The same console manages FSLogix across your Azure Virtual Desktop host pools alongside the rest of your environment, so you're not bouncing between the Nerdio console and Azure Portal to keep configurations consistent.

After deployment, Nerdio monitors storage capacity and alerts you before shares fill up. Logon duration dashboards show you when profile loading is slowing down user sessions. You can optimize FSLogix storage costs from the same console where you manage auto-scaling, image updates, and endpoint policies.

See Nerdio Manager in action with FSLogix across your Azure Virtual Desktop environment.

Optimize and save

See how you can optimize processes, improve security, increase reliability, and save up to 70% on Microsoft Azure costs.

Frequently asked questions about FSLogix

Learn more about FSLogix

About the author

Amol Dalvi

Amol Dalvi

VP, Product

Software product executive and Head of Product at Nerdio, with 15+ years leading engineering teams and 9+ years growing a successful software startup to 20+ employees. A 3x startup founder and angel investor, with deep expertise in Microsoft full stack development, cloud, and SaaS. Patent holder, Certified Scrum Master, and agile product leader.

Ready to get started?