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

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 is not properly detached and the user's next login may not successfully attach their VHD(x) container. Enable this setting and FSLogix will attempt to clean up these invalid sessions and allow a successful sign-in. This setting affects both Profile and ODFC containers.

InstallAppxPackages (Preview)

Important

The InstallAppxPackages feature was first introduced in 2210 (2.9.8308.44092). To use this feature, download the Public Preview version.

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: InstallAppxPackages

Value Type: DWORD

Enabled Value: 1 (default)

Disabled Value: 0

When enabled, this setting will read the AppxPackages.xml manifest file from the user's profile and install / re-register the list of applications. The AppxPackages.xml file can be found at: %APPDATALOCAL%\FSLogix\AppxPackages.xml.

RoamRecycleBin (Preview)

Important

The RoamRecycleBin feature was first introduced in 2210 (2.9.8308.44092). To use this feature, download the Public Preview version.

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 will create 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 (Preview)

Important

The VHDCompactDisk feature was first introduced in 2210 (2.9.8308.44092). To use this feature, download the Public Preview version.

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 will attempt 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(s) depending on a pre-defined threshold. For more information, see the VHD Disk Compaction documentation.

Container Settings (Profile, ODFC, Cloud Cache)

Profile Container Settings

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

  • Registry Hive: HKEY_LOCAL_MACHINE
  • Registry Path: SOFTWARE\FSLogix\Profiles

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

Do not 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 will allow 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.

CleanOutNotifications

Type: DWORD

Default Value: 1

Data values and use: When enabled this setting cleans out registry keys in the HKEY_LOCAL_MACHINE hive that refer to a users SID.

These registry items are orphaned entries referring to users. Some of these entries persistent post profile deletion and may cause long term issues. There may be instances where disabling this setting can improve sign-in performance, but shouldn't be a long term solution as the orphaned entries will continue.

DeleteLocalProfileWhenVHDShouldApply

Type: DWORD

Default Value: 0

Data values and use: 0: no deletion. 1: delete local profile if exists and matches the profile being loaded from VHD.

Important

When FSLogix determines a user should have a FSLogix profile, but a local profile exists, FSLogix will permanently delete the local profile. The user will then be signed in with an FSLogix profile.

DiffDiskParentFolderPath

Type: REG_SZ

Default Value: %TEMP%

Data values and use: Specifies the path where difference disks will be created when ProfileType is configured to use them. Variables may be used in this value.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

Enabled

(required setting)

Type: DWORD

Default Value: 0

Data values and use: 0: Profile Containers disabled. 1: Profile Containers enabled

FlipFlopProfileDirectoryName

Type: DWORD

Default Value: 0

Data values and use: When set to 1 the SID folder is created as %username%_%sid% instead of the default %sid%_%username%.

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)

IsDynamic

Type: DWORD

Default Value: 1

Data values and use: If set to 1 the VHD(X) that is created will be dynamic. If set to 0 the created VHD(X) will be fixed size.

This setting is used with the SizeInMBs setting to manage the size of Profile containers. Setting IsDynamic to 1 causes the Profile container to use the minimum space on disk, regardless of the allocated SizeInMBs. As space is consumed, the size on disk will grow up to the size specified in SizeInMBs. SizeInMBs is the maximum size that a user will be allowed to use on disk. If the user's Profile container grows beyond what is specified in SizeInMBs the user will experience errors.

Note

Setting IsDynamic to 1 does NOT allow the Profile container to grow larger than what is specified in SizeInMBs.

KeepLocalDir

Type: DWORD

Default Value: 0

Data values and use: 1: The local_%username% folder will be left on the system, after sign-out. It will also be used again if the same user signs on again.

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).

NoProfileContainingFolder

Type: DWORD

Default Value: 0

Data values and use: 1: Profile Container won'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.

OutlookCachedMode

Type: DWORD

Default Value: 1

Data values and use: 0: Prevents FSLogix from doing anything with cached mode. 1: Only when the Profile Container is attached, the Outlook setting that enables cached mode will temporarily be 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.

PreventLoginWithFailure

Type: DWORD

Default Value: 0

Data values and use: If set to 1 Profile Container will load FRXShell if there's a failure attaching to, or using an existing profile VHD(X). The user will receive the FRXShell prompt - default prompt to call support, and the users only option will be to sign out.

PreventLoginWithTempProfile

Type: DWORD

Default Value: 0

Data values and use: If set to 1 Profile Container will load FRXShell if it's determined a temp profile has been created. The user will receive the FRXShell prompt - default prompt to call support, and the users only option will be to sign out.

ProfileDirSDDL

Type: REG_SZ

Default Value: N/A

Data values and use: SDDL string representing the ACLs to use when creating the profile directory.

ProfileType

Type: DWORD

Default Value: 0

Data values and use: 0: Normal profile behavior. 1: Machine should only be the RW profile instance. 2: Machine should only be the RO profile instance. 3: Machine should try to take the RW role and if it can't, it should fall back to a RO role.

Important

  • All sessions trying to use the VHD concurrently must have a ProfileType of 1, 2, or 3. If the VHD isn't accessed concurrently, ProfileType should be 0.
  • OneDrive does not support multiple simultaneous connections / multiple concurrent connections, using the same profile, under any circumstances. Please see the OneDrive documentation on this topic** and CCDLocations.

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 it's disconnected unexpectedly.

RebootOnUserLogoff

Type: DWORD

Default Value: 0

Data values and use: A value of '0' means, "Take no action". A value of '1' means, "Reboot when any user signs out". A value of '2' means, "Reboot when a FSLogix Profile user signs out".

RedirectType

Type: DWORD

Default Value: 2

Data values and use: A value of '1' means, Use legacy redirection. A value of '2' (default) means, Use FSLogix advanced redirection.

RedirXMLSourceFolder

Type: REG_SZ

Default Value: N/A

Data values and use: For example: C:\Windows\System32 or \\servername\sharename

If the folder contains a redirections.xml, it will be copied to the local profile and immediately used.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

RemoveOrphanedOSTFilesOnLogoff

Type: DWORD

Default Value: 0

Data values and use: A value of '0' or lack of this setting results in no action. A value of '1' will cause duplicate OST files to be removed.

Note

Review the following, in full, before setting. 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 Profile Container the OST file in a VHD, isn't as visible. Over long periods of time duplicate OST files may consume incremental disk space. Setting this option to 1 will cause Profile Container and Profile Container for Office to remove 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: Used to control the Profile Container Search Roaming feature. Set to '1' or '2' to enable the feature. See Configure Search Roaming for details.

Important

  • RoamSearch is set prior to GPOs being applied, it is not possible to rely on GPOs to set RoamSearch in environments where a GoldImage is applied at boot.
  • Windows Server 2019 and Windows 10 Enterprise multi-session support per user search. RoamSearch should not be enabled in these environments.

SetTempToLocalPath

Type: DWORD

Default Value: 3

Data values and use: A value of '0' means, "Take no action". A value of '1' means, "Redirect TEMP and TMP to the local drive". A value of '2' means, "Redirect INetCache to the local drive". A value of '3'means, "Redirect TEMP, TMP, and INetCache to the local drive."

ShutdownOnUserLogoff

Type: DWORD

Default Value: 0

Data values and use: A value of '0' means, "Take no action". A value of '1' means, "Shutdown when any user signs off", a value of '2' means, "Shutdown when a FSLogix Profile user signs off".

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 will attempt to locate a users Profile or ODFC container. FSLogix will use the VHDLocations or CCDLocations as the location where to search and this setting defines what to search.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

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 will attempt to create a users Profile or ODFC container folder. FSLogix will use the VHDLocations or CCDLocations as the location where to create and this setting defines what to create.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

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 will be of this size. Existing containers will be extended automatically to this size during user sign in. You can increase this value at anytime, but cannot decrease it. Decreasing this value will not cause existing VHD(x) containers to shrink.

VHDNameMatch

Type: REG_SZ

Default Value: Profile*

Data values and use: Specifies a string pattern used when matching a users Profile container. Use this setting to define how FSLogix will attempt to locate a users Profile container (VHD(x) file). FSLogix will use the VHDLocations or CCDLocations as the location where to search and this setting defines what to search.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

Important

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

VHDNamePattern

Type: REG_SZ

Default Value: Profile_%username%

Data values and use: Specifies a string pattern used when creating a users Profile container. Use this setting to define how FSLogix will attempt to create a users Profile container (VHD(x) file). FSLogix will use the VHDLocations or CCDLocations as the location where to search and this setting defines what to create.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

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 file system locations to search for the user's profile VHD(X) file. If one isn't found, one will be created in the first listed location. If the VHD path doesn't exist, it will be created before it checks if a VHD(X) exists in the path. These values can contain variables that will be resolved. When specified as a REG_SZ value, multiple locations can be separated with a semi-colon.

Supported variables are:

  • %username%
  • %userdomain%
  • %sid%
  • %osmajor%
  • %osminor%
  • %osbuild%
  • %osservicepack%
  • %profileversion%
  • %clientname%

VHDXSectorSize

Type: DWORD

Default Value: 0

Data values and use: Sector size to use if the file being created is a VHDX. Currently can only be 512 (0x200) or 4096 (0x1000). Setting of 0 (default setting) results in system default being used.

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) has been attached. Default value of 20000 = 20 seconds