App Layering

将应用程序层部署为弹性层

通过弹性层功能,您可以在基础映像之外交付目标狭窄的应用程序。事实上,您可以根据需要将层分配给特定用户。在图像模板中启用弹性层设置后,登录到已发布图像的用户可以被指定为弹性层。

关于弹性层

弹性层 是指分配给单个用户和组的应用程序层,以便按需交付。除了基础映像中包含的应用程序之外,用户还会收到分配给他们的弹性层。

弹性层允许您为每个用户提供一组唯一的应用程序以及基础映像中包含的常用应用程序。在会话主机上,会跨会话使用弹性层。在独立桌面上,弹性层可跨浮动池和共享组使用。

根据用户授权,弹性层会在登录时传递到用户的桌面。您可以为会话主机上的用户以及独立桌面上的用户分配弹性层,只要映像是使用 App Layering 发布的。

弹性层是 App Layering 的一个功能。不能在 Citrix 虚拟应用程序和桌面中将弹性层用作已发布的虚拟应用程序。而且,您无法将 Citrix 虚拟应用程序指定为弹性层。

弹性层分配

每次登录到桌面时,您都可以将应用程序层交付给组成员。您可以将应用程序层指定为弹性层。然后,层的副本将存储在设备的网络文件共享中,并按需传递给分配的 AD 用户和组,以及他们通过基础映像接收的层。

要使用此功能,您可以添加弹性分配,指定哪些用户和组接收每个应用程序层。然后,在启用弹性分层设置的情况下发布基本图像。

用户如何访问分配给他们的弹性层

当用户登录到其会话或桌面时,弹性层的图标在桌面上显示为快捷方式。

在以下情况下,用户会收到弹性层:

  • 将为用户(管理控制台中的 AD 用户)分配层。
  • 为用户所属的 AD 组分配层。
  • 用户登录到的计算机是接收弹性层的 AD 组的成员。
  • 用户登录的计算机与通过管理控制台分配给层的 AD 组关联。

为用户分配了多个版本的层

将层直接分配给用户,并间接分配给一个或多个用户组时,他们将收到最新的直接分配的版本。例如:

  • 如果为用户分配了 版本 2,并且为用户所属的组分配了 版本 3,则用户将获得 版本 2

  • 如果为用户所属的两个或多个组分配了同一层的不同版本,则用户将收到所分配层的最新版本。

当用户在基础图像和弹性层中接收应用程序层时

当应用程序层包含在基本图像中时,请勿将其作为弹性层分配给同一用户。如果用户最终确实分配了两种方式的同一层,则无论版本如何,他们都会收到弹性层。

必备条件

  • 启用弹性层的任何分层映像都需要 .NET 框架 4.5。
  • 要指定为弹性层的应用程序层。

注意事项

与分层映像具有相同操作系统层的应用程序层

为了在将应用程序层分配为弹性层时获得最佳效果,请仅指定与分层映像中使用的操作系统层具有相同操作系统层的应用程序层。

弹性层的操作系统层切换

尽管没有什么可以阻止您为使用不同操作系统层的分层映像上的用户分配弹性层,但不能保证结果。如果您的测试显示该层有效,请随意使用它。

注意:

向应用程序层添加版本时,必须使用原始应用程序层中包含的操作系统层。

弹性分层限制

不能弹性地分层以下内容:

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

应用程序层 不会 保留您为需要的应用程序添加的本地用户或管理员,但操作系统层保留。因此,在安装应用程序之前,请将本地用户或管理员添加到操作系统层。应用程序层工作后,您可以将其指定为弹性层。

弹性层兼容模式

当用户登录到使用分层映像置备的桌面时,弹性层将在用户登录后合成到映像中。如果弹性层无法正确加载,请尝试启用 弹性层兼容模式。启用兼容模式后,弹性层会在登录完成之前开始加载。

重要:

我们建议禁用兼容模式,除非弹性层不能按预期工作。在太多层上启用此设置会减慢登录时间。

弹性层在其下运行的用户帐户

默认情况下,当第一个分配弹性层的用户登录到其桌面时,将挂载分配给该用户的所有弹性层。登录到托管层的计算机的其他用户使用与第一个用户相同的连接。第一次登录后连接持续 10 小时,然后所有弹性层都断开连接。在基于班次的环境中,第二班的用户将在班次内大约两小时(或者在初始用户登录第一班班次后 10 小时)受到影响。

如果要在基于 Shift 的环境中提供弹性层,则可以更改运行所有弹性层的默认帐户。您可以将所有弹性层的默认用户更改为在本地 SYSTEM 帐户下运行的 ulayer 服务,而不是在登录的第一个用户下运行。SYSTEM 帐户对应于访问共享时运行 ulayer 服务的计算机的域计算机帐户。包含弹性层的文件共享需要对所有用户或每个计算机帐户进行只读访问。

  • 若要更改要运行的弹性层的帐户,请创建注册表 DWORD 值,并将其设置为 1

    HKEY_LOCAL_MACHINE\Software\Unidesk\Ulayer:AsSelfAppAttach 设置为 **1**

  • 要恢复为在第一个登录用户下运行弹性层,请将注册表 DWORD 值设置为 0

    HKEY_LOCAL_MACHINE\Software\Unidesk\Ulayer:AsSelfAppAttach 设置为 **0**

  • 要删除设置,使弹性层只能在默认模式下运行,请删除 DWORD 值:

    HKEY_LOCAL_MACHINE\Software\Unidesk\Ulayer:AsSelfAppAttach

在基础图像上启用弹性层

您可以通过配置用于发布基本(分层)图像的图像模板来启用弹性层:

  1. 在管理控制台中,选择用于发布分层映像的映像模板。

  2. 选择“图像”选项卡,然后选择要在其上启用弹性分层的图像模板。

  3. 从操作栏中选择编辑模板。此时将打开“编辑模板”向导。

  4. 选择分 层映像磁盘选 项卡。

  5. 弹性分层 字段中,选择 应用程序分层

  6. 选择确认并完成选项卡,然后单击 保存模板并发布

  7. 使用 Provisioning 系统分发虚拟机。

用户登录时,桌面会包含其每个弹性应用程序层的图标。

在应用程序层上运行弹性配合分析器

在弹性分配应用程序层之前,请使用 弹性拟合分析器 确定层分配成功的可能性。

弹性拟合分析

在“层详细信息”中, 弹性拟合 等级指示层弹性分配时工作的可能性。

良好的弹性贴合。 该层在弹性部署时工作。

弹性贴合通道

弹性贴合度不佳。 弹性地提供层不太可能在弹性部署时起作用。层的行为可能与在分层映像中部署时的行为不同。

弹性贴合失败

弹性贴合细节

您可以通过展开弹性拟合分析来了解有关应用层弹性拟合评级的更多信息。如果弹性拟合不理想,则会显示违反规则的列表。

低严重性警告。 对于大多数应用程序来说,弹性交付层不太可能导致行为或功能发生任何变化。

低严重性警告

中等严重性警告。 弹性地提供层可能会对某些应用程序的行为或功能造成微小的变化。

中等严重性警告

高严重性警告。 弹性交付层可能会对许多应用程序的行为或功能造成重大变化。

高严重性警告

分析应用层的弹性配合

层版本的所有新版本都会在最终确定时进行分析,以确保弹性分层兼容性。要分析现有应用程序层的弹性配合,请执行

  1. 登录到管理控制台。
  2. 选择“层”>“应用层”
  3. 选择要分析的层,然后单击“分析层”
  4. 在 “选择版本”选项卡上,选择要分析的层版本。
  5. 在“确认并完成”选项卡上,单击“分析层版本”。分析需要几秒钟。
  6. 要查看 弹性拟合分析,请选择应用程序层模块,将鼠标指针移到层图标上,然后单击“信息”图标。
  7. 展开每个层 版本 的版本信息,并查找弹性适合等级。
  8. 有关详细报告,请展开 弹性配合详细信息。如果弹性拟合不理想,将显示违反规则的列表。
  9. 您可以通过单击确认层不可能按预期工作的按钮来显示 AD 树并隐藏违反的规则。

从早期版本升级

从早期的 App Layering 版本升级后,弹性拟合详细信息显示尚未分析现有层版本。这些版本具有单个“高严重度 弹性贴合细节”和“较 弹性贴合”。要获得准确读数,请在现有层版本上运行分析。

弹性地将应用层分配给 AD 用户和组

首次以弹性方式分配应用层时,我们建议您从简单的应用程序(如 Notepad++GIMP)开始。

  1. 以管理员用户身份登录到管理控制台,然后选择“层”>“应用程序层”
  2. 选择打算包含在基本映像中的应用程序层,然后选择“添加任务”
  3. 在打开的向导中,选择要分配用户的应用程序层的版本。
  4. 跳过 “映 像模板分配 ” 选项卡。此选项卡用于将层分配给图像模板。
  5. 在 “弹性分配”选项卡中,选择要接收此应用程序层的用户和组。
  6. 在“确认并完成”选项卡中,查看您的选择,然后单击“分配层”

当用户登录时,他们分配的每个弹性层都会有一个图标。

通过计算机分配和关联向用户弹性分配应用层

您可以通过将计算机添加到 AD 组或将计算机与 AD 组关联来为计算机分配层。然后弹性地将应用程序层分配给 AD 组。

分配给计算机的层可供成功登录到计算机的每个用户使用。应用分层服务每 10 分钟扫描一次计算机的 AD 组成员资格和关联的更改。当用户登录时,他们会看到已分配的每个弹性应用程序层的图标。

使用 Active Directory 将计算机添加到 AD 组

假设您的环境中启动了已发布的分层映像,则可以将计算机添加到 AD 组,并将弹性层分配给 AD 组。

  1. 使用 Active Directory (AD) 将计算机添加到 AD 组。

  2. 选择 打算包含在基础映像中的应用程序层,然后将该层弹性分配给 AD 组。

  3. 您可以等待 AD 传播更改和 App Layering 服务,也可以通过执行以下操作之一强制 App Layering 服务更新其计算机组列表:

  • 等待应用分层服务检测更改(默认情况下,在 10 分钟内)。

  • 重新启动 App Layering 服务。

  • 重新启动 App Layering 服务计算机。

  • 运行 refresh.groups 命令:

    C:\Program Files\Unidesk\Layering Services\ulayer.exe refresh.groups

示例

从 AD 用户、AD 组以及使用分层映像预配的计算机开始。

  • AD 用户:Kenya
    • Kenya 没有弹性任务。
  • AD 组:市场营销
    • 市场营销小组包括 Kenya 成员。
  • 计算机:ElasticTestMachine
    • ElasticTestMachine 基础映像包括 MS Office 应用程序层

在此示例中,您可以弹性地将 Chrome 应用程序层分配给 ElastitestMachine

  1. 在 AD 中,您将计算机 ElasticTestMachine市场营销 AD 组。
  2. 在管理控制台中,您可以弹性地将 Chrome 应用程序层分配给市场营销组。
  3. 当 Kenya 是营销组的一部分登录 ElastitestMachine 时,她会收到位于基础映像中的 MS Office 应用程序层Chrome 应用程序层
  4. 当任何市场营销组中的用户登录到 ElastitestMachine 时,他们也会收到两个层:MS Office,因为它位于基础映像中,而 Chrome 因为 ElasticTestMachine市场营销 AD 组的成员。

使用管理控制台将计算机与 AD 组关联

通过将一组计算机与 AD 组关联,运行 App Layering 服务的任何计算机都可以通过 AD 组成员身份弹性地为其分配层。

通过机器关联授予的弹性层可以被视为扩展分配给用户的层。例如,如果一台计算机匹配多个计算机关联,则仅将唯一层添加到用户已拥有的层中。

在管理控制台中,您可以在计算机名称模式中使用星号 (*) 通配符来指定一组计算机名称。例如:

     
计算机名称模式 匹配这些名称 与这些名称不匹配
计算机 * machine01; machineindetroit amachine; localtestmachine
* 计算机 amachine; localtestmachine machine01; machineindetroit
ky*eng ky02359eng; kytesteng 01ky_eng; testky01eng
*eng* eng01; 1eng; 1eng01 en01; 1en; 1en01

您可以在将应用程序层弹性分配给 AD 组之前或之后创建计算机关联。此外,当您添加关联时,计算机不需要存在,因为这些关联仅存在于 App Layering 中,并且 AD 不知道它们。

将一组计算机与 AD 组关联

  1. 以管理员用户身份登录到管理控制台,然后选择“用户”>“树”

  2. 展开树,选择相应的组,然后单击操作栏中的编辑属性。这将打开“编辑组向导”。

未选中计算机关联

  1. 选中“将计算机与此 AD 组关联”复选框。这显示了“计算机名称模式”字段:

已检查计算机关联

  1. 通过输入计算机名称模式,指定要与 AD 组关联的计算机集。有关示例,请参阅上面的计算机名称模式表。

  2. 在“确认并完成”选项卡上,选择“更新组”。请注意叠加在组图标上的计算机显示器的形状。这表示计算机已与组相关联。

计算机关联图标

单击组图标时,“详细信息”视图将包含一个名为“与计算机关联”的字段。

计算机关联详细信息

示例

您从计算机、Mach1、AD 组、MachineGroupFirefoxMS Office 的应用程序层开始。

  • 机器:Mach1
  • AD 组:MachineGroup
  • 应用层:FirefoxMS Office

此外,您已将 Firefox 和 MS 办公层弹性分配给 AD 组。

假设您将计算机关联添加到具有 Mach 名称模式的 MachineGroup。当域用户登录到 Mach1 时,他们会收到 Firefox 和 MS Office 弹性应用程序层。

管理弹性分配

可以执行以下操作:

  • 查看用户的弹性层分配。
  • 添加弹性分配。
  • 更新应用程序层并弹性分配新版本的层。
  • 删除弹性分配。
  • 调试弹性分配。

查看用户的弹性层分配

  1. 登录到管理控制台,然后选择“用户”>“树”
  2. 选择 AD 用户或组,然后单击名称 右侧 的“i”图标。如果为用户或组分配了弹性层,则层将在详细信息窗口的配置文件信息下方列出。

更新应用程序层及其弹性分配

您已向应用程序层添加了弹性分配,并且用户正在按预期方式访问该应用程序。将发布应用程序的新版本,因此您可以使用新版本更新到层。现在,您需要将新版本分配给拥有该层的用户。

  1. 登录到管理控制台,然后选择“层”>“应用程序层”

  2. 选择您更新的弹性分配的应用程序层。

  3. 右键单击层图标,然后选择 更新分配

  4. 在打开的向导中,选择新版本。

  5. 跳过映像模板分配选项卡。

  6. 弹性分配选项卡中,有一个已分配不同版本的选定层的用户和组列表。选择要为其分配新版本的层的用户和组。

注意:

  • 如果列表很长,请使用“搜索”字段筛选结果。
  • 如果列表为空,请单击名为“显示已经处于此版本的 AD 用户和组”复选框。此时将显示灰色的名称列表。已为这些用户分配了版本。
  1. 在 “确认并完成”选项卡上,验证要接收新版本的用户和组。

  2. 单击“更新分配”

移除层的弹性分配

  1. 登录到管理控制台,然后选择“层”>“应用程序层”

  2. 选择要为其删除任务的应用程序层,然后选择“移除任务”

  3. 在打开的向导中,选择要从中移除层的分配模板。此时将列出层的分配。

如果列表很长,请使用 “搜索”字段筛选结果。

  1. 在 “确认并完成”选项卡上,验证选择了正确的图像模板以接收新版本。

  2. 单击“删除分配”

排除弹性层问题

您可以通过查明层是否正在传递以及层是否正常工作,来诊断弹性分层问题的根源。如果需要,收集数据以获得支持,如此处所述。

层交付是否存在问题

当这个应用程序安装在那里时,你会期望看到的东西吗?

  • 是否看到层的文件和注册表项?
  • 如果应用程序应该位于 “开始”菜单中,是否存在?
  • 如果您希望在用户桌面上有应用程序的快捷方式,是否有一个快捷方式?

如果您发现应用交付存在问题,您可以收集以下数据、打开案例并将数据发送给支持人员。

  1. 从以下日志中收集数据:
  • Windows 应用程序事件日志 — 在 Windows 事件查看器中的 Windows 日志下,将应用程序事件日志导出为 EVTX 文件。
  • App Layering 服务日志 (ulayersvc.log) – C:\ProgramData\Unidesk\Logs\ulayersvc.log
  1. 收集这些注册表项的值:
  • HKEY_LOCAL_MACHINE\SOFTWARE\Unidesk\ULayer:AssignmentFile
  • HKEY_LOCAL_MACHINE\SOFTWARE\Unidesk\ULayer:RepositoryPath
  1. 从存储库路径中收集任务 (ElasticLayerAssignments.json) 和层 (Layers.json) 文件的内容。

  2. 请联系支持部门。

这个问题是否可操作

以下任何行为都可能表示弹性分层问题:

  • 应用正在交付,但无法正确启动。
  • 应用程序中的操作无法正常工作。
  • 许可问题或安全问题。
  • 应用程序启动,但后来行为不当,例如,它在启动时崩溃,或启动,但不能正常工作。

如果层的问题是可操作的,请测试基础映像中的应用程序层以排除一般的分层问题:

  1. 将应用程序层添加到图像模板,然后发布包含应用程序层的分层图像。
  2. 弹性分配层的用户身份登录,并确保应用程序在基础映像中运行。
  3. 请联系支持部门,了解您的发现