排查旧配置文件、临时配置文件或本地配置文件的问题

通常,当用户遇到旧配置文件、临时配置文件或本地配置文件问题时,用户问题的根本原因与 FSLogix 不一致。 在大多数情况下,这些问题可以解决,而无需创建支持请求。 我们概述了这些问题的最常见原因和解决方案。

未启用 FSLogix 产品

安装 FSLogix 后,不会启用任何功能或配置设置。 必须启用配置文件和/或 ODFC 容器功能,具体取决于配置。

解决方案

查看介绍如何启用和配置 FSLogix 配置文件或 ODFC 容器的文章。

VHDLocations 或 CCDLocations 中的设置不正确

VHDLocations 用于标准容器,而 CCDLocations 与云缓存容器一起使用。 在任一配置中,必须正确填充这些设置(注册表或组策略)的值。 此外,已安装并启用 FSLogix 的虚拟机必须能够访问这些位置。

解决方案

  1. 在虚拟机上,打开注册表编辑器。
  2. 查找配置所需的以下密钥:
    • HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles
    • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\FSLogix\ODFC
  3. 验证类型REG_SZ(首选)或类型REG_MULTI_SZ是否存在的值和VHDLocationsCCDLocations类型。
  4. 具有多个条目的REG_SZ值 VHDLocations 需要分号分隔。

注意

在生产环境中使用之前,测试用户应验证对位置的访问权限。

用户无权访问存储提供程序(权限)

为存储提供程序配置权限是 FSLogix 解决方案最常见的配置错误设置之一。 根据存储提供程序,存在的权限包括 NTFS 访问控制列表 (ACL)、共享级别权限或 Azure 基于角色的访问控制 (RBAC) 权限。 根据配置,可能会阻止用户登录到虚拟机。

F R X SHELL ACCESS DENIED

图 1: 配置文件附加失败 - 访问被拒绝

配置文件日志错误

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

解决方案

查看介绍如何配置存储权限的文章。

配置文件正在另一台计算机上使用

在默认配置中,FSLogix 允许单个用户会话访问同一配置文件容器,并允许临时配置文件。 如果用户尝试连接到配置为使用同一配置文件容器的其他虚拟机,并且它们不会从原始会话注销,则会获得临时配置文件。 启用 PreventLoginWithTempProfile 设置可有效地防止用户在使用配置文件容器时登录到虚拟机。

F R X SHELL CONTAINER IN USE

图 2: 配置文件无法附加 - 正在使用的配置文件

配置文件日志错误

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

解决方案

每个组织都需要评估这些类型情况的正确行动过程。 在某些情况下,允许用户使用临时配置文件登录,并允许他们工作可能比拒绝登录尝试更好。 在其他情况下,教育用户,以便在开始新连接之前了解如何注销会话。 最后一个选项是在使用 FSLogix 时启用多个或并发连接。

存在本地配置文件

在存在现有配置文件的虚拟机上安装 FSLogix 时,默认行为是遵循本地配置文件,而不是创建或查找 FSLogix 配置文件。 当用户登录到没有本地配置文件且启用了 FSLogix 的虚拟机时,会出现此问题。 用户将收到 FSLogix 配置文件,它将显示为新配置文件。

解决方案

启用 DeleteLocalProfileWhenVHDShouldApply 设置将在登录时删除本地配置文件并创建或附加 FSLogix 配置文件容器。

警告

建议在启用 DeleteLocalProfileWhenVHDShouldApply 设置以限制数据丢失暴露之前,谨慎并查看是否存在本地配置文件。

启用 PreventLoginWithFailurePreventLoginWithTempProfile 时的临时或本地配置文件

配置为在用户附加配置文件失败或得到临时 Windows 配置文件的情况下阻止用户登录时,FSLogix 会使用 frxshell.exe 替换标准 Windows shell.exe。 使用远程应用程序与完整桌面体验的用户登录不会遭到阻止。 远程应用程序并不调用标准 Windows shell.exe,并且 FSLogix 在登录期间无法挂钩到直接应用程序。

配置文件错误日志

注意

此错误可能因配置文件加载失败的原因而异。 例如,“访问被拒绝”

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

解决方案

这是一个已知问题,没有当前解决方法。 在大多数情况下,由于存储权限,用户无法加载其配置文件。 查看有关如何配置 SMB 存储权限的操作说明文章

存储提供程序空间问题

FSLogix 依赖于远程存储提供程序来存储用户容器。 必须密切监视存储提供程序的性能和总体存储容量。 如果存储提供程序达到最大大小,则用户可能会遇到一个或多个问题:

  • 用户无法创建新容器,并最终得到临时或本地配置文件。
  • 当前用户会话将挂起或无响应。
  • 用户在登录或注销期间无法装载或正确分离容器。

解决方案

增加远程存储提供程序的容量。