Troubleshooting issues with old, temporary, or local profiles

In general, the root cause of a user's issue isn't with FSLogix when they experience issues with old, temporary, or local profiles. In most cases, these issues can be resolved without the need to create a support request. We've outlined the most common causes and solutions to these issues.

FSLogix product isn't enabled

After you install FSLogix, none of the features or configuration settings are enabled. Depending on the configuration, the Profiles and / or ODFC container feature must be enabled.

Solution

Review the articles that cover how to enable and configure FSLogix profile or ODFC containers.

Incorrect settings in VHDLocations or CCDLocations

VHDLocations are used with standard containers while CCDLocations are used with Cloud Cache containers. In either configuration, the values for these settings (registry or Group Policy) must be populated correctly. Additionally, the virtual machines with FSLogix installed and enabled, must be able to access the locations.

Solution

  1. On the virtual machine, open the registry editor.
  2. Find the following key(s) for your configuration:
    • HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles
    • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\FSLogix\ODFC
  3. Validate the value and type for VHDLocations or CCDLocations is present with either type REG_SZ (preferred) or type REG_MULTI_SZ.
  4. The REG_SZ value for VHDLocations with multiple entries, requires semi-colon delimiting.

Note

Access to the locations should be validated by a test user before use in a production environment.

Users don't have access to the storage provider (permissions)

Configuring permissions to a storage provider is one of the most common misconfigured settings for an FSLogix solution. Depending on the storage provider, there are NTFS access control lists (ACLs), share-level permissions, or Azure role-based access control (RBAC) permissions. Depending on the configuration, a user might be prevented from signing into a virtual machine.

F R X SHELL ACCESS DENIED

Figure 1: Profile failed to attach - access denied

Profile log errors

[ERROR:00000005]   Attach vhd(x) failed, file is locked.  Retrying 3 time(s) at 15 second intervals (Access is denied.)
[ERROR:00000005]   Failed to attach VHD. (Access is denied.)
[ERROR:00000005]   Failed to attach virtual disk: \\<server-name>\<share-name>\%username%-%sid%\Profile_%username%.vhdx (Access is denied.)
[ERROR:00000005]   LoadProfile failed. Version: 2.9.8440.42104 User: %username%. SID: %sid%. SessionId: 10. FrxStatus: 31 (Access is denied.)

Solution

Review the article that covers configuring storage permissions.

Profile is in use on another computer

In a default configuration, FSLogix allows single user sessions to the same profile container and allows temporary profiles. If a user attempts to connect to a different virtual machine that is configured to use the same profile container and they don't sign out from the original session, they get a temporary profile. Enabling the PreventLoginWithTempProfile setting effectively prevents the user from signing into the virtual machine while their profile container is in use.

F R X SHELL CONTAINER IN USE

Figure 2: Profile failed to attach - profile in use

Profile log errors

[ERROR:000000a7]   Operation 'AcquireExclusiveLock' failed.  Retrying %x time(s) at %y second intervals (Unable to lock a region of a file.)
[INFO]             Status set to 1: Cannot load user's profile
[INFO]             ErrorCode set to 33 - Message: The process cannot access the file because another process has locked a portion of the file.
[ERROR:00000021]   LoadProfile failed. Version: 2.9.8430.30244 User: %username%. SID: %sid%. SessionId: 2. FrxStatus: 33 (The process cannot access the file because another process has locked a portion of the file.)

Solution

Each organization needs to evaluate what is the correct course of action for these types of situations. In some cases, allowing a user to sign in with a temporary profile and allowing them to work could be better than denying the sign-in attempt. In other situations, educating the users so they learn to sign out of their sessions before starting a new connection. The last option is to enable multiple or concurrent connections while using FSLogix.

Local profile exists

When FSLogix is install on a virtual machine where existing profiles exist, the default behavior is to honor the local profile instead of creating or looking for an FSLogix profile. This issue would present itself when a user signs into a virtual machine where they don't have a local profile and FSLogix is enabled. The user would get an FSLogix profile and it would appear like a new profile.

Solution

Enabling the DeleteLocalProfileWhenVHDShouldApply setting will, at sign-in, delete the local profile and create or attach the FSLogix profile container.

Warning

It is recommended to use caution and review which local profiles exist before enabling the DeleteLocalProfileWhenVHDShouldApply setting to limit the exposure of data loss.

Temp or local profile when PreventLoginWithFailure or PreventLoginWithTempProfile is enabled

FSLogix uses frxshell.exe to replace the standard Windows shell.exe when configured to prevent a user's sign-in when their profile fails to attach or a temporary Windows profile. User's who use a remote application versus a full desktop experience won't be blocked from signing in. Remote applications don't call the standard Windows shell.exe and FSLogix is unable to hook to the direct application during sign-in.

Profile error logs

Note

The error could vary based on why the profile failed to load. For example, 'Access denied'

[09:33:09.168][tid:00000c58.0000140c][INFO]             Configuration Read (DWORD): SOFTWARE\FSLogix\Profiles\PreventLoginWithFailure.  Data: 1
[09:33:09.168][tid:00000c58.0000140c][INFO]             Configuration Read (DWORD): SOFTWARE\FSLogix\Profiles\PreventLoginWithTempProfile.  Data: 1
...
[09:33:09.543][tid:00000c58.0000140c][ERROR:0000052e]   FindFile failed for path: \\<server-name>\<share-name>\%sid%_%username%\Profile*.VHDX (The user name or password is incorrect.)
[09:33:09.543][tid:00000c58.0000140c][INFO]             Status set to 27: Cannot find virtual disk at the provided location
[09:33:09.543][tid:00000c58.0000140c][INFO]             ErrorCode set to 1326 - Message: The user name or password is incorrect.
...
[09:33:09.543][tid:00000c58.0000140c][ERROR:0000052e]   LoadProfile failed. Version: 2.9.8440.42104 User: %username%. SID: %sid%. SessionId: 2. FrxStatus: 31 (The user name or password is incorrect.)
[09:33:09.543][tid:00000c58.0000140c][INFO]             loadProfile time: 391 milliseconds
...
[09:33:17.215][tid:00000c58.0000140c][INFO]           ===== Begin Session: StartShell
[09:33:17.215][tid:00000c58.0000140c][INFO]            User: %sid% (%username%)
...
[09:33:17.246][tid:00000c58.0000140c][INFO]            No FSLogix user session info found for user %sid%. This is not a profile we should handle
[09:33:17.246][tid:00000c58.0000140c][INFO]            Session configuration read (DWORD): SOFTWARE\FSLogix\Profiles\Sessions\%sid%\LogonStage = '5'(Logon_Complete)

Solution

This is a known issue with no current workaround. Under most circumstances, user's failed to load their profile due to storage permissions. Review our how-to article on Configuring SMB storage permissions.

Storage provider space issues

FSLogix relies on remote storage providers to store user containers. It's important to closely monitor your storage provider(s) for both performance and overall storage capacity. If the storage provider has reached it max size, users may encounter one or more issues:

  • Users can't create new containers and end up with a temporary or local profile.
  • Current user session becomes hung or unresponsive.
  • Users fail to mount or correctly detach containers during sign in or sign out.

Solution

Increase the capacity of the remote storage provider.