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.
- Tutorial: Configure profile containers
- Tutorial: Configure ODFC containers
- How-To: Use Group Policy templates
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
- On the virtual machine, open the registry editor.
- Find the following key(s) for your configuration:
HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\FSLogix\ODFC
- Validate the value and type for
VHDLocations
orCCDLocations
is present with either type REG_SZ (preferred) or type REG_MULTI_SZ. - 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.
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.
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.