Citrix Virtual Apps and Desktops

用户个性化层

注意:

可以使用下面两个管理控制台管理您的 Citrix Virtual Apps and Desktops 部署:Web Studio(基于 Web)和 Citrix Studio(基于 Windows)。本文仅涵盖 Web Studio。有关 Citrix Studio 的信息,请参阅 Citrix Virtual Apps and Desktops 7 2212 或更早版本中的等效文章。

Citrix Virtual Apps and Desktops 的用户个性化层功能扩展了非持久性计算机目录的功能,以便跨会话保留用户的数据和本地安装的应用程序。用户个性化层功能由基础 Citrix App Layering 技术提供支持,支持非持久计算机目录中的 Citrix Provisioning 和 Machine Creation Services (MCS)。

在主映像中,将用户个性化层组件与Virtual Delivery Agent 一起安装。VHD 文件在本地存储用户安装的应用程序。映像上装载的 VHD 充当用户自己的虚拟硬盘驱动器。

重要:

可以在 Citrix Virtual Apps and Desktops 中部署用户个性化层,或者使用在映像模板中启用的 App Layering 用户层,但不同时启用两者。请勿在 App Layering 层上安装用户个性化层功能。

此功能取代了 Personal vDisk (PvD),同时还为非持久性(池)桌面环境中的用户提供持久的 Workspace 体验。

要部署用户个性化层功能,请使用本文中详细介绍的步骤进行安装和配置。

应用程序支持

除了以下例外,用户个性化层支持用户在桌面上本地安装的所有应用程序。

例外

以下应用程序是例外情况,不支持用户个性化层:

  • 企业应用程序,例如 MS Office 和 Visual Studio。
  • 修改网络堆栈或硬件的应用程序。示例:VPN 客户端。
  • 具有引导级驱动程序的应用程序。示例:病毒扫描仪。
  • 使用驱动程序存储的驱动程序的应用程序。示例:打印机驱动程序。

    注意:

    可以使用 Windows 组策略对象 (GPO) 使打印机可用。

允许用户在本地安装任何不受支持的应用程序。而是直接在主映像上安装这些应用程序。

需要本地用户或管理员帐户的应用程序

当用户在本地安装应用程序时,应用程序会进入其用户层。如果用户随后添加或编辑本地用户或组,则更改不会在会话之外保留。

重要提示:

在主映像中添加任何必需的本地用户或组。

要求

用户个性化层功能需要以下组件:

  • Citrix Virtual Apps and Desktops 7 1909 或更高版本
  • Virtual Delivery Agent (VDA),版本 1912 或更高版本
  • Citrix Provisioning,版本 1909 或更高版本
  • Windows 文件共享 (SMB) 或启用了本地 AD 身份验证的 Azure 文件

当操作系统作为单个会话部署时,可以在以下 Windows 版本上部署用户个性化层功能。支持仅限于单个会话中的单个用户。

  • Windows 11 Enterprise x64
  • Windows 10 Enterprise x64,版本 1607 或更高版本
  • Windows Server 2016(支持 Azure 文件)
  • Windows Server 2019(支持 Azure 文件)
  • Windows Server 2022(支持 Azure 文件)

对于 Citrix Virtual Apps and Desktops 7,Windows Server 2022、Windows Server 2019、Windows Server 2016 和 Windows 10 客户端支持在用户个性化层中使用 Azure 文件存储。

注意:

如果您使用的是服务器操作系统,则仅支持服务器 VDI。有关部署详细信息,请参阅服务器 VDI 一文。

用户个性化层每次仅支持每台计算机一个用户,然后必须重新启动计算机才能重置磁盘。不能将用户个性化层用于多会话服务器操作系统,只能用于单会话服务器系统。用户个性化层仅适用于非持久性桌面。

卸载用户个性化层功能(如果已安装)。在安装最新版本之前,请重新启动主映像。

设置文件共享

用户个性化层功能需要 Windows 服务器消息块 (SMB) 存储。要创建 Windows 文件共享,请按照您所在的 Windows 操作系统的常规步骤进行操作。

有关将 Azure 文件与基于 Azure 的目录结合使用的更多信息,请参阅为用户个性化层设置 Azure 文件存储

建议

请按照本部分中的建议进行成功的用户个性化层部署。

Microsoft System Center Configuration Manager (SCCM)

如果将 SCCM 与用户个性化层功能结合使用,请按照 Microsoft 的指导原则在 VDI 环境中准备您的映像。有关详细信息,请参阅此 Microsoft TechNet 文章

用户层大小

用户层是一个精简预配的磁盘,随着磁盘空间的使用而扩展。允许的默认用户层大小为 10 GB,即,我们建议的最小值。

注意:

在安装过程中,如果该值设置为零 (0),则默认用户层大小设置为 10 GB。

如果要更改用户层大小,可以为用户层大小策略输入其他值。请参阅可选:单击“用户层大小(GB)”旁边的选择下的步骤 5:创建交付组自定义策略

用于覆盖用户层大小的工具(可选)

通过使用 Windows 工具定义用户层文件共享的配额,可以覆盖用户层大小。

请使用以下 Microsoft 配额工具之一在名为用户的用户层目录上设置硬配额:

  • 文件服务器资源管理器 (FSRM)
  • 配额管理器

注意:

增加配额会影响新用户层并扩展现有用户层。 减少配额仅影响新用户层。现有用户层的大小永远不会减小。

部署用户个性化层

部署用户个性化功能时,可以在 Web Studio 中定义策略。然后将策略分配给绑定到计算机目录的交付组,该交付组部署了该功能。

如果您保留未设置用户个性化层配置的主映像,服务将处于空闲状态,并且不会干扰创作活动。

如果在主映像中设置了策略,服务将尝试在主映像中运行和装载用户层。主映像将表现出意外的行为和不稳定性。

要部署用户个性化层功能,请按此顺序完成以下步骤:

  • 步骤 1:验证 Citrix Virtual Apps and Desktops 环境的可用性。
  • 步骤 2:准备您的主映像。
  • 步骤 3:创建计算机目录。
  • 步骤 4:创建交付组。
  • 步骤 5:创建交付组自定义策略。

注意:

在映像上升级 Windows 10 后首次登录所花费的时间比平时长。用户的层需要针对新版本的 Windows 10 进行更新,从而延长登录时间。

步骤 1:验证 Citrix Virtual Apps and Desktops 环境是否可用

请确保 Citrix Virtual Apps and Desktops 环境可使用这一新增功能。有关设置详细信息,请参阅安装和配置 Citrix Virtual Apps and Desktops

步骤 2:准备您的主映像

要准备主映像,请执行以下操作:

  1. 找到主映像。安装贵组织的企业应用程序和用户通常认为有用的任何其他应用程序。

  2. 如果要部署服务器 VDI,请按照服务器 VDI 一文中的步骤进行操作。请确保包含可选组件,即用户个性化层。有关详细信息,请参阅用于安装 VDA 的命令行选项

  3. 如果您使用的是 Windows 10,请安装 Virtual Delivery Agent (VDA) 1912 或更高版本。如果已安装较旧版本的 VDA,请先卸载旧版本。安装新版本时,请确保选择并安装可选组件 Citrix User Personalization Layer,如下所示:

    1. 单击磁贴 Virtual Delivery Agent for Windows Desktop OS

    适用于 Windows 桌面操作系统的 VDA

    1. 环境: 选择创建主 MCS 映像使用 Citrix Provisioning 或第三方预配工具创建主映像

    创建主映像

    1. 核心组件: 单击下一步

    2. 其他组件: 选中 Citrix User Personalization Layer

    创建主映像

    1. 单击其余的安装屏幕,根据需要配置 VDA,然后单击安装。映像在安装过程中重新启动一次或多次。
  4. 保留 Windows 更新处于禁用状态。用户个性化层安装程序将禁用映像上的 Windows 更新。保留更新处于禁用状态。

映像已准备好上载到 Web Studio 中。

注意:

如果您只想升级用户个性化层 (UPL),则可以使用更新版本的 UPL 和独立软件包进行升级。您无需升级 VDA。

步骤 3:创建计算机目录

在 Web Studio 中,按照步骤创建计算机目录。在目录创建过程中使用以下选项:

  1. 选择操作系统并将其设置为单会话操作系统

  2. 选择计算机管理并将其设置为进行电源管理的计算机。例如,虚拟机或刀片式 PC。

  3. 选择桌面体验并将其设置为池随机池静态目录类型,如以下示例中所示:

    • 池随机:

      Pooled-random

    • 池静态: 如果选择池静态,请将桌面配置为放弃所有更改并在用户注销时清除虚拟桌面,如以下屏幕截图中所示:

      Pooled-static

    注意:

    用户个性化层不支持配置为使用 Citrix Personal vDisk 或分配为专用虚拟机的池静态目录。

  4. 如果使用的是 MCS,请为在上一部分中创建的映像选择主映像和快照。

  5. 根据您的环境的需要配置其余的目录属性。

步骤 4:创建交付组

创建和配置交付组,包括您创建的计算机目录中的计算机。有关详细信息,请参阅创建交付组

步骤 5:创建交付组自定义策略

要在 Virtual Delivery Agent 中启用用户层的装载,请使用配置参数指定:

  • 在网络上访问用户层的位置。
  • 允许用户层磁盘增长的大小。

在 Web Studio 中将参数定义为自定义 Citrix 策略并将其分配给交付组。

  1. 登录 Web Studio 并在左侧窗格中选择策略

    在 Studio 中选择策略

  2. 在操作栏中选择创建策略。此时将显示创建策略窗口。

  3. 在搜索字段中键入“用户层”。可用策略列表中显示以下三个策略:

    • 用户层排除
    • 用户层存储库路径
    • 用户层大小(GB)

      注意:

      增加大小会影响新用户层并扩展现有用户层。减小大小仅影响新用户层。现有用户层的大小永远不会减小。

    选择用户层策略

  4. 选中用户层存储库路径旁边的复选框,然后单击编辑。此时将显示编辑设置窗口。

  5. 字段中输入路径,然后单击保存

    • 路径格式: \\server-name-or-address\share-name\folder
    • 路径示例: \\Server\Share\UPLUsers
    • 结果路径示例: 对于 CoolCompanyDomain 中名为 Alex 的用户,路径将为:\\Server\Share\UPLUsers\Users\CoolCompanyDomain_Alex\A_OK

    存储库路径

    可以使用 %USERNAME%%USERDOMAIN% 变量、计算机环境变量和 Active Directory (AD) 属性自定义路径。展开时,这些变量会生成显式路径。

    环境变量示例:

    • 路径格式: \\Server-name-or-address\share-name\folder-with-environment-variables
    • 路径示例: \\Server\Share\UPLUserLayers\%USERNAME%\%USERDOMAIN%
    • 结果路径示例: 对于 CoolCompanyDomain 中名为 Alex 的用户,路径将为:\\Server\Share\UPLUserLayers\Alex\CoolCompanyDomain\A_OK

    包含环境变量的存储库路径

    自定义 AD 属性的示例:

    • 路径格式:\\Server-name-or-address\share-name\AD-attribute
    • 路径示例:\\Server\share\#sAMAccountName#
    • 生成的路径示例:\\Server\share\JohnSmith(如果 #sAMAccountName# 解析为当前用户 JohnSmith)
  6. 可选:选中用户层大小(GB) 旁边的复选框,然后单击编辑

    用户层存储库路径

    此时将显示“编辑设置”窗口。

  7. 可选:将默认值 10 GB 更改为每个用户层可增长的最大大小。单击保存

  8. 可选:选中用户层排除旁边的复选框,然后单击编辑

    用户层排除策略

  9. 可选:指定要排除的文件和文件夹,然后单击保存。有关详细信息,请参阅 Citrix App Layering 文档

  10. 单击下一步配置要分配的用户和计算机。单击此图像中突出显示的交付组分配链接:

    用户层存储库路径

  11. 交付组菜单中,选择在上一部分中创建的交付组。单击确定

    选择交付组

  12. 输入策略的名称。单击该复选框以启用该策略,然后单击完成

    用户层策略名称

在用户层文件夹上配置安全设置

作为域管理员,您可以为用户层指定多个存储位置。为每个存储位置(包括默认位置)创建 \Users 子文件夹。使用以下设置保护每个位置。

设置名称 适用对象
创建者/所有者 修改 仅子文件夹和文件
所有者权利 修改 仅子文件夹和文件
用户或组: 创建 Folder/Append Data; Traverse Folder/Execute File; List Folder/Read Data; Read Attributes 仅限选定的文件夹
系统 完全控制 选定的文件夹、子文件夹和文件
域管理员和选定的管理员组 完全控制 选定的文件夹、子文件夹和文件

用户层消息

当用户无法访问其用户层时,将收到这些通知消息之一。

  • 正在使用的用户层

    We were unable to attach your user layer because it is in use. Any changes you make to application settings or data will not be saved. Be sure to save any work to a shared network location.<!--NeedCopy-->

  • 用户层不可用

    We were unable to attach your user layer. Any changes you make to application settings or data will not be saved. Be sure to save any work to a shared network location.<!--NeedCopy-->

  • 用户注销后无法重置系统

    This system was not shut down properly. Please log off immediately and contact your system administrator.<!--NeedCopy-->

故障排除时要使用的日志文件

日志文件 ulayersvc.log 包含记录更改的用户个性化层软件的输出。

C:\ProgramData\Unidesk\Logs\ulayersvc.log
<!--NeedCopy-->

限制

安装和使用用户个性化层功能时,请谨记以下限制。

  • 尝试在 App Layering 中的层上部署用户个性化层软件。请在 Citrix Virtual Apps and Desktops 中部署用户个性化层,或者在 App Layering 映像模板中启用用户层,但不同时启用两者。任一过程都会生成所需的用户层。

  • 使用持久性计算机目录配置用户个性化层功能。

  • 使用会话主机。

  • 使用运行新操作系统安装的映像更新计算机目录(甚至是相同版本的 Windows 10)。最佳做法是在创建计算机目录时使用的同一主映像中将更新应用于操作系统。

  • 使用启动时间驱动程序,而非任何其他早期启动个性化设置。

  • 将 PvD 数据迁移到用户个性化层功能。

  • 将现有用户层从完整的 App Layering 产品迁移到用户个性化层功能。

  • 更改用户层 SMB 路径以访问使用其他主操作系统映像创建的用户层。

  • 当用户注销会话然后重新登录时,新会话将在池中的另一台计算机上运行。在 VDI 环境中,Microsoft 软件中心在第一台计算机上将应用程序列出为已安装,但在第二台计算机上将其显示为不可用

    要了解应用程序的真实状态,请指示用户在“软件中心”中选择该应用程序,然后单击安装。SCCM 随后将状态更新为真实值。

  • 在启用了用户个性化层功能的 VDA 中启动后,Software Center 偶尔会立即停止。为了避免出现此问题,请按照 Microsoft 关于 在 XenDesktop VDI 环境中实施 SCCM 的建议进行操作。此外,请确保 ccmexec 服务在您启动 Software Center 之前正在运行。

  • 在组策略(计算机设置)中,用户层设置会覆盖应用到主映像的设置。因此,使用 GPO 在计算机设置中所做的更改并不总是存在以供用户下一次会话登录使用。

    要解决此问题,请创建一个发出此命令的用户登录脚本:

    gpupdate /force

    例如,一个客户将以下命令设置为在每次用户登录时运行:

    gpudate /Target:Computer /force

    为获得最佳效果,请在用户登录后直接将更改应用于用户层上的“计算机设置”。

  • 域用户帐户不得是最后一个登录到主映像的用户。否则,基于该映像预配的计算机将出现问题。

  • 在纯 Azure AD 环境中启用了 UPL 时,由于在 Azure 上运行的 Windows 中存在潜在问题,自定义证书不会持续存在。如果 Microsoft 在将来的增强版本中修复了此问题,我们将更新本文。

用户个性化层