Share via


Configuration Setting Reference

This article outlines the various registry settings applicable to FSLogix that includes, but not limited to:

  • App Services
  • Profile containers
  • ODFC containers
  • Cloud Cache
  • Logging

Default settings

After installing FSLogix, the installer will create a base set of registry keys and values which provides the framework for adding configuration settings. FSLogix doesn't create ANY configuration setting value names as part of the installation. Any configuration setting listed on this page which has a 'Default value' doesn't need to be created or configured as FSLogix will automatically use the default value as listed.

For example, the RoamIdentity setting has a default value as '0'. FSLogix won't roam identities as a default behavior and doesn't need an Administrator to create or add the registry value name and value. Only if the desire is to change the default behavior of the setting would the Administrator create or add the registry value name and value.

Base registry keys and value names

  • [HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix]
    • \Apps
      • "InstallPath"="C:\Program Files\FSLogix\Apps\"
      • "InstallVersion"="version_number"
    • \Logging
    • \Profiles
    • \SystemInfo
    • \Telemetry
    • \UserModeDll
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\FSLogix]
    • \ODFC

Custom environment variables

Some FSLogix settings accept environment variables. These settings accept the list of custom environment variables and any variables available during the user's sign in.

FSLogix custom variables:

Variable Description
%username% SAMAcountName for the signed in user.
%userdomain% NETBIOS domain name where the user's account resides.
%sid% Security Identifier
%osmajor% Major version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMajorVersionNumber
%osminor% Minor version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMinorVersionNumber
%osbuild% Build version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber
%osservicepack% Legacy to Windows service packs, no longer used.
%profileversion% Version of profile based on Windows version.
%clientname% The COMPUTERNAME of the client initiating the connection to the host.

App Services Settings

The following settings are applicable to FSLogix and not specific to profile or ODFC containers or Cloud Cache.

CleanupInvalidSessions

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: CleanupInvalidSessions

Value Type: DWORD

Enabled Value: 1

Disabled Value: 0 (default)

In cases where a user's session terminates abruptly, the VHD(x) mounted for the user's profile isn't properly detached and the user's next sign in may not successfully attach their VHD(x) container. Enable this setting and FSLogix attempts to clean up these invalid sessions and allow a successful sign-in. This setting affects both Profile and ODFC containers.

RoamRecycleBin

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: RoamRecycleBin

Value Type: DWORD

Enabled Value: 1 (default)

Disabled Value: 0

When enabled, this setting creates a redirection for the user's specific Recycle Bin into the VHD(x) container. This allows the user to restore items regardless of the machine from where they were deleted.

VHDCompactDisk

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: VHDCompactDisk

Value Type: DWORD

Enabled Value: 1 (default)

Disabled Value: 0

When enabled, this setting attempts to compact the VHD disk during the sign out operation and is designed to automatically decrease the Size On Disk of the user's container depending on a predefined threshold. For more information, see the VHD Disk Compaction documentation.

FSLogix Settings (Profile, ODFC, Cloud Cache, Logging)

ODFC container Settings

The following settings are applicable to ODFC containers and are created in the following location:

  • Registry Hive: HKEY_LOCAL_MACHINE
  • Registry Path: SOFTWARE\Policies\FSLogix\ODFC

AccessNetworkAsComputerObject

Type: DWORD

Default Value: 0

Data values and use:

  • 0: default – attach as user.
  • 1: attach as computer - folder must have permissions for computer objects.

Caution

Don't use this configuration setting unless your storage provider or architecture will NOT work with user-level permissions to the VHD(x) container locations. This setting allows the virtual machine to access all the VHD(x) files on the storage provider creating a potential security risk.

AttachVHDSDDL

Type: REG_SZ

Default Value: N/A

Data values and use:

SDDL string representing the ACLs to use when attaching the VHD.

DiffDiskParentFolderPath

Type: REG_SZ

Default Value: %TEMP%

Data values and use:

Specifies the path where difference disks are created when VHDAccessMode is configured to use them. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Enabled

(required setting)

Type: DWORD

Default Value: 0

Data values and use:

  • 0: ODFC containers disabled.
  • 1: ODFC containers enabled

FlipFlopProfileDirectoryName

Type: DWORD

Default Value: 0

Data values and use:

  • 0: SID folder is created as %sid%_%username%
  • 1: SID folder is created as %username%_%sid%

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • This setting will OVERRIDE both SIDDirNameMatch and SIDDirNamePattern
  • This setting has NO EFFECT when NoProfileContainingFolder is enabled
  • NoProfileContainingFolder > FlipFlopProfileDirectoryName > (SIDDirNameMatch and SIDDirNamePattern)

IgnoreNonWVD

Type: DWORD

Default Value: 0

Data values and use:

  • 0: FSLogix is enabled for any session.
  • 1: FSLogix is enabled for Azure Virtual Desktop (AVD) sessions only.

Note

Windows Virtual Desktop (WVD) is now known as Azure Virtual Desktop (AVD), though the name of the setting uses the legacy name.

IncludeOfficeActivation

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Office activation data isn't redirected to the container.
  • 1: Office activation data is redirected to the container.

Note

This setting is specific to Office 2016 and later

IncludeOneDrive

Type: DWORD

Default Value: 1

Data values and use:

  • 0: OneDrive cache isn't redirected to the container.
  • 1: OneDrive cache is redirected to the container.

Important

OneDrive doesn't support multiple simultaneous connections / multiple concurrent connections, using the same profile, under any circumstances. For more information, see Use the sync app on virtual desktops.

IncludeOneNote

Type: DWORD

Default Value: 0

Data values and use:

  • 0: OneNote notebook files aren't redirected to the container.
  • 1: OneNote notebook files are redirected to the container.

IncludeOneNote_UWP

Type: DWORD

Default Value: 0

Data values and use:

  • 0: OneNote UWP notebook files aren't redirected to the container.
  • 1: OneNote UWP notebook files are redirected to the container.

IncludeOutlook

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Outlook data isn't redirected to the container.
  • 1: Outlook data is redirected to the container.

IncludeOutlookPersonalization

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Outlook personalization data isn't redirected to the container.
  • 1: Outlook personalization data is redirected to the container.

IncludeSharepoint

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Sharepoint data isn't redirected to the container.
  • 1: Sharepoint data is redirected to the container.

IncludeSkype

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Skype for Business Global Address List isn't redirected to the container.
  • 1: Skype for Business Global Address List is redirected to the container.

IncludeTeams

Important

The IncludeTeams setting is for both classic and new Microsoft Teams.

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Teams data isn't redirected to the ODFC container and new Teams AppX package isn't registered during sign-in.
  • 1: Teams data is redirected to the ODFC container and new Teams AppX package is registered by family name during sign-in.

Note

Microsoft Teams profile data redirection paths.

Teams (classic):

  • %AppData%\Local\Microsoft\Teams
  • %AppData%\Roaming\Microsoft\Teams

Teams (new):

  • %LocalAppData%\Packages\MSTeams_8wekyb3d8bbwe\LocalCache

IsDynamic

Type: DWORD

Default Value: 1

Data values and use:

  • 0: VHD(x) is of a fixed size and the size on disk is fully allocated.
  • 1: VHD(x) is dynamic and only increases the size on disk as necessary.

Note

  • This setting is used with the SizeInMBs setting to manage the size of ODFC containers. Setting IsDynamic to 1 causes the ODFC container to use the minimum space on disk, regardless of the allocated SizeInMBs. As space is consumed, the size on disk grows up to the size specified in SizeInMBs. SizeInMBs is the maximum size that a user is allowed to use on disk. If the user's ODFC container grows beyond what is specified in SizeInMBs the user experiences errors.
  • Setting IsDynamic to 1 does NOT allow the ODFC container to grow larger than what is specified in SizeInMBs.

LockedRetryCount

Type: DWORD

Default Value: 12

Data values and use:

Specifies the number of retries attempted when a VHD(x) file is locked (open by another process or computer).

LockedRetryInterval

Type: DWORD

Default Value: 5

Data values and use:

Specifies the number of seconds to wait between retries (see LockedRetryCount).

MirrorLocalOSTToVHD

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: When a new VHD is created and there are contents in the local OST folder, they're copied to the VHD before the user is given access.
  • 2: When a new VHD is created and there are contents in the local OST folder, they're moved to the VHD before the user is given access.

NoProfileContainingFolder

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: ODFC container doesn't use or create a SID containing folder for the VHD(x) file.

This setting is intended for situations where storage provides a location that is already unique per-user.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • This setting will override ANY OTHER setting related to container folders.
    • SIDDIRNameMatch has NO EFFECT when used in conjunction with this setting.
    • SIDDIRNamePattern has NO EFFECT when used in conjunction with this setting.
    • FlipFlopProfileDirectoryName has NO EFFECT when used in conjunction with this setting.

NumSessionVHDsToKeep

Type: DWORD

Default Value: 2

Data values and use:

This setting is used when VHDAccessMode is set to (3). This controls the number of session VHDs that are persistent. For example, if set to (2) and the user creates a third session, a new session VHD is created, but it's deleted when the third session ends.

OutlookCachedMode

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Prevents FSLogix from doing anything with cached mode.
  • 1: Only when the ODFC container is attached, the Outlook setting that enables cached mode is temporarily set until the container is detached. This setting ensures cached mode is used only when the container is attached.

Important

  • Outlook must be configured for online mode for this feature to work. This insures if FSLogix gets disabled, that large OST files won't be downloaded.
  • Online mode registry entry: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\office\16.0\Outlook\OST\NoOST:DWORD = 2.
  • FSLogix will override this setting for the current user.

OutlookFolderPath

Type: REG_SZ

Default Value: %userprofile%\AppData\Local\Microsoft\Outlook

Data values and use:

The path to the user's Outlook folder. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

PreventLoginWithFailure

Type: DWORD

Default Value: 0

Data values and use:

When enabled (1) FSLogix loads the FRXShell if there's a failure attaching to, or using an existing ODFC VHD(x). The user receives the default prompt to call support, and the users only option is to sign out.

PreventLoginWithTempProfile

Type: DWORD

Default Value: 0

Data values and use:

When enabled (1) FSLogix loads the FRXShell if it's determined a temp profile has been created. The user receives the default prompt to call support, and the users only option is to sign out.

ReAttachRetryCount

Type: DWORD

Default Value: 60

Data values and use:

Specifies the number of times the system should attempt to reattach the VHD(x) container if it's disconnected unexpectedly.

ReAttachIntervalSeconds

Type: DWORD

Default Value: 10

Data values and use:

Specifies the number of seconds to wait between retries when attempting to reattach the VHD(x) container if disconnects unexpectedly.

RedirectType

Type: DWORD

Default Value: 2

Data values and use:

  • 1: Use legacy redirection.
  • 2: Use FSLogix advanced redirection.

Caution

Do not use this setting unless directed by Microsoft Support.

RefreshUserPolicy

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: ODFC container overwrites the previous user setting with the GPO setting.

If a GPO is configured for an Office Product that is included in ODFC container, there may be a conflict with a previous user setting. Standard behavior is for the GPO to be applied, but when the ODFC container is read, the GPO is overwritten using the setting in ODFC container. If the desire is for the GPO change to be universally applied, then this setting should be set to 1 prior to the GPO update being applied.

Important

There's a performance implication to setting RefreshUserPolicy to 1. RefreshUserPolicy shouldn't be set, or should be set to 0, unless there's a specific GPO event. After the GPO event, the setting should be reverted to default

RemoveOrphanedOSTFilesOnLogoff

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Duplicate OST files are deleted during sign out.

Note

In rare cases, duplicate OST files are created for a user. This circumstance has been documented to occur with and without the use of a non-persistent profile. When the profile is stored in the standard file system, administrators may remove orphaned or stale OST files by deleting them. When using FSLogix the OST file is in the container and isn't as visible. Over long periods of time duplicate OST files may consume incremental disk space. When enabled (1) FSLogix deletes all OST files in a VHD(x), except the OST with the latest modify date. Administrators should be familiar with the use of OST files, and potential implications, before choosing to enable this setting.

RoamSearch

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Enable single-user search.
  • 2: Enable multi-user search.

For more information, see Configure Windows Search database roaming.

Important

  • FSLogix search roaming functionality is no longer necessary in newer versions of Windows1
  • RoamSearch is set prior to GPOs being applied, it isn't possible to rely on GPOs to set RoamSearch in environments where a GoldImage is applied at boot.

1 Windows Server 2019 version 1809 and later, Windows 10 and 11 multi-session

SIDDirNameMatch

Type: REG_SZ

Default Value: %sid%_%username%

Data values and use:

Specifies a string pattern used when matching a profile or ODFC container folder. Use this setting to define how FSLogix attempts to locate a user's profile or ODFC container. FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to search. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • When using this configuration setting, be sure the SIDDIRNamePattern value matches this setting.
    • This setting has NO EFFECT when FlipFlopProfileDirectoryName is enabled.
    • This setting has NO EFFECT when NoProfileContainingFolder is enabled.
    • NoProfileContainingFolder > FlipFlopProfileDirectoryName > SIDDirNameMatch (this setting)

SIDDirNamePattern

Type: REG_SZ

Default Value: %sid%_%username%

Data values and use:

Specifies a string pattern used when creating a profile or ODFC container folder. Use this setting to define how FSLogix attempts to create a user's profile or ODFC container folder. FSLogix uses the VHDLocations or CCDLocations as the location where to create and this setting defines what to create. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • When using this configuration setting, be sure the SIDDIRNameMatch value matches this setting.
    • This setting has NO EFFECT when FlipFlopProfileDirectoryName is enabled.
    • This setting has NO EFFECT when NoProfileContainingFolder is enabled.
    • NoProfileContainingFolder > FlipFlopProfileDirectoryName > SIDDirNamePattern (this setting)

SIDDirSDDL

Type: REG_SZ

Default Value: N/A

Data values and use:

SDDL string representing the ACLs to use when creating the SID container folder.|

SizeInMBs

Type: DWORD

Default Value: 30000

Data values and use:

Specifies the maximum size of the user's container in megabytes. Newly created VHD(x) containers are of this size. Existing containers are extended automatically to this size during user sign in. You can increase this value at any time, but can't decrease it. Decreasing this value doesn't cause existing VHD(x) containers to shrink.

VHDAccessMode

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Normal direct access behavior. This is the simplest access model, but only allows one concurrent session.
  • 1: A difference disk is used on the network. This allows for simultaneous session access. This mode shouldn't be used if the ODFC container is being used with Outlook Cached Exchange mode.
  • 2: A difference disk is used on the local machine. This allows for simultaneous session access. This mode shouldn't be used if the ODFC container is being used with Outlook Cached Exchange mode.
  • 3: A unique VHD(x) is used for each concurrent session. These VHD(x) files will typically persist so that they can be used the next time a user creates a session.

To control the number of VHD(x) files that persist, see the NumSessionVHDsToKeep setting.

Important

  • All sessions trying to use the VHD concurrently must have a matching VHDAccessMode setting. If the VHD isn't accessed concurrently, VHDAccessMode should be 0.
  • If the ODFC container is being used with Outlook cache mode, VHDAccessMode 0 or 3 must be used.
  • OneDrive doesn't support multiple simultaneous connections / multiple concurrent connections, using the same profile, under any circumstances. For more information, see Use the sync app on virtual desktops.

VHDNameMatch

Type: REG_SZ

Default Value: ODFC*

Data values and use:

Specifies a string pattern used when matching a users ODFC container. Use this setting to define how FSLogix attempts to locate a users ODFC container (VHD(x) file). FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to search. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

When using this configuration setting, be sure the VHDNamePattern value matches this setting.

VHDNamePattern

Type: REG_SZ

Default Value: ODFC_%username%

Data values and use:

Specifies a string pattern used when creating a users ODFC container. Use this setting to define how FSLogix attempts to create a users ODFC container (VHD(x) file). FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to create. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

When using this configuration setting, be sure the VHDNameMatch value matches this setting.

VHDLocations

(required setting)

Type: MULTI_SZ or REG_SZ

Default Value: N/A

Data values and use:

A list of SMB locations to search for the user's ODFC VHD(x) file. If one isn't found, one is created in the first listed location. If the VHD path doesn't exist, creates it before it checks if a VHD(x) exists in the path. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process. When specified as a REG_SZ value, multiple locations must be separated with a semi-colon (;).

VHDXSectorSize

Type: DWORD

Data values and use:

  • 0: Uses system default.
  • 512: VHD(x) is formatted using 512-byte allocation.
  • 4096: VHD(x) is formatted using 4096-byte allocation.

Note

Values are listed in decimal not hex.

VolumeType

Type: REG_SZ

Default Value: vhd

Data values and use:

A value of vhd means that newly created files should be of type VHD. A value of vhdx means that newly created files should be of type VHDX.

VolumeWaitTimeMS

Type: DWORD

Default Value: 20000

Data values and use:

Specifies the number of milliseconds the system should wait for the volume to arrive after the VHD(x) attaches. Default value of 20000 = 20 seconds