Profile Management

控制对应用程序的访问

应用程序访问控制功能允许您使用规则控制对应用程序的访问。借助此功能,您可以简化应用程序和映像的管理。例如,您可以向不同部门交付相同的计算机,同时满足其独特的应用程序要求,从而减少映像的数量。

本文将引导您完成启用应用程序访问控制和配置控制规则的过程。它还提供了一个示例,说明如何使用此功能来简化虚拟环境中的映像管理。

注意:

此功能适用于 Active Directory (AD) 和非域加入 (NDJ) 环境。

概述

借助应用程序访问控制功能,您可以通过配置隐藏规则来向用户、计算机和进程隐藏应用程序。

隐藏规则由两部分组成:

  • 要隐藏的对象。 您希望为应用程序隐藏的文件、文件夹和注册表项。

    例如,要隐藏某个应用程序,您必须指定与该应用程序关联的所有对象,例如文件、文件夹和注册表项。

  • 分配。 您希望向其隐藏应用程序的用户、计算机和进程。

分配类型

隐藏规则中的分配分为三类:进程、用户和计算机。具体分配类型如下:

类别 类型
进程 任何进程
用户
  • 活动目录 (AD) 和 Azure 活动目录 (AAD) 用户
  • AD 和 AAD 用户组
计算机

  • AD、AAD 和 NDJ 计算机
  • AD 计算机组(在组织单位 (OU) 中分组)
  • NDJ 计算机组(在计算机目录中分组)

注意:

  • 应用程序访问控制策略的上下文中,OU 仅用作计算机的容器,而不用作用户的容器。因此,OU 分配仅对 OU 中的计算机隐藏应用程序,而不对 OU 中的用户隐藏应用程序。
  • NDJ 计算机仅限于 Citrix® 创建和电源管理的那些计算机。

当隐藏规则配置了多个分配时,请注意以下事项:

  • 如果这些分配属于同一类别(例如,用户 A 和 用户组 B),则应用程序将对这些分配中指定的所有对象隐藏(用户 A 和用户组 B 中的所有用户)。
  • 如果这些分配属于不同类别(例如,用户 A 和 计算机 X),则当满足所有这些分配中指定的条件时(当用户 A 登录到计算机 X 时),应用程序将被隐藏。
  • 如果这些分配属于 进程类别,则应用程序将对这些分配中指定的所有进程隐藏。

注意:

如果未为规则配置任何分配,则规则中指定的应用程序将被隐藏。

工作流程

借助应用程序访问控制功能,Profile Management 可以根据您提供的规则向用户、计算机和进程隐藏应用程序。从宏观角度来看,实施应用程序访问控制的工作流程如下:

  1. 创建并生成隐藏规则。您可以使用以下两种工具:

  2. 使用 GPO 将隐藏规则应用于环境中的计算机。有关详细信息,请参阅 Enable app access control using GPOs

使用规则生成器创建、管理和部署规则

本节将指导您使用基于 PowerShell 的规则生成器来创建、管理和部署规则。

开始之前,请确保运行该工具的计算机满足以下要求:

  • 在 Windows 10 或 11,或 Windows Server 2016、2019 或 2022 上运行。
  • (仅限 AD 环境) 与您的用户和计算机位于同一域中。

一般过程如下:

  1. 以管理员身份运行 Windows PowerShell
  2. 访问 Profile Management 安装包中的 \tool 文件夹,然后运行 CPM_App_Access_Control_Config.ps1

    注意:

    默认情况下,\tool 文件夹中包含两个文件:CPM_App_Access_Control_Config.ps1 和 CPM_App_Access_Control_Impl.ps1。CPM_App_Access_Control_Config.ps1 依赖 CPM_App_Access_Control_Impl.ps1 才能正常工作。请勿将 CPM_App_Access_Control_Impl.ps1 移出该文件夹。

  3. 按照屏幕上的说明创建、管理和生成隐藏规则:
    1. 查看计算机上安装的每个应用程序及其状态:

      • 未配置。未为该应用程序配置任何规则。
      • 已配置。已为该应用程序配置一个或多个规则,但这些规则均未应用于计算机。
      • 已配置并已应用。已为该应用程序配置一个或多个规则,并且至少有一个规则已应用于计算机。

      应用程序列表

    2. 从应用程序列表中,通过输入其索引选择要隐藏的应用程序。与该应用程序关联的所有文件、文件夹和注册表项都会显示。

      选择一个额外项

    3. 要隐藏所选应用程序的额外文件、文件夹或注册表项,请选择相应的操作类型,然后通过输入其名称和路径来添加对象。重复此步骤以添加更多。

      注意事项:

      • 路径中的系统环境变量(例如 %windir%)受支持,而用户环境变量(例如 %appdata%)不受支持。
      • 文件和文件夹支持通配符 *?。当字符串中有多个星号 (‘*’) 时,两个星号之间的字符将被忽略。例如,在字符串 c:\users\Finance*Manangement* 中,字符 *Management* 被视为单个星号 (*)。

      注意:

      您还可以通过将应用程序与某些文件、文件夹和注册表项关联来手动定义应用程序。

    4. 配置规则的分配。具体来说,指定分配类型,然后输入要从中隐藏应用程序的特定对象。有关详细信息,请参阅下表。

      选择分配

      注意:

      如果您未为规则配置任何分配,则规则中指定的应用程序将不可见。

      分配类型 描述
      AD 用户、用户组或 OU 输入其 AD 域名,用竖线 (|) 分隔。
      AD 计算机 输入其 DNS 主机名,用竖线 (|) 分隔。
      NDJ 计算机目录 输入目录名称,用竖线 (|) 分隔。示例:Machine_catalog_name1\|Machine_catalog_name2
      NDJ 计算机

      在 WEM Web 控制台中,使用 AAD/NDJ 对象选择器 收集计算机名称,然后输入这些名称,用竖线 (|) 分隔。示例:Machine_name1\|Machine_name2。要添加所有非域加入的计算机,请输入 NDJ*。
      NDJ 计算机名称支持通配符 *?
      注意: 当字符串中有多个星号 (*) 时,两个星号之间的字符将被忽略。例如,在字符串 ResearchDep*Virtual*TeamMachine* 中,字符 *Virtual* 被视为单个星号 (*)。
      Azure AD 用户 在 WEM Web 控制台中,使用 AAD/NDJ 对象选择器 收集用户的 SID 和名称,然后按以下格式输入:sid1\name1\|sid2\name2。示例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\Tester1\|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\Tester2
      Azure 活动目录组 在 WEM Web 控制台中,使用 AAD/NDJ 对象选择器 收集组的 SID 和名称,然后按以下格式输入:sid1\name1\|sid2\name2。示例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\TestGroup1\|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\TestGroup2
      注意: 要排除特定用户或计算机,请在其标识符前添加 EX>。要排除特定进程,请在其标识符前添加 ?。使用竖线 (|) 将排除项与分配的组分开。
  4. 重复步骤 3,为其他应用程序创建隐藏规则。
  5. 按照屏幕提示生成您配置的规则的原始数据,然后将其保存到 .txt 文件中以备将来使用。
  6. 要测试规则是否按预期工作,请按照屏幕提示将其部署到此计算机或一组计算机。

使用 GPO 启用应用程序访问控制

创建并生成隐藏规则后,您可以使用 GPO 将其应用于环境中的计算机。

要使用 GPO 将控制规则应用于计算机,请执行以下步骤:

  1. 打开组策略管理编辑器。
  2. 访问 策略 > 管理模板: 策略定义 (ADMX 文件) > Citrix 组件 > Profile Management > 应用程序访问控制
  3. 双击 应用程序访问控制
  4. 在出现的策略窗口中,选择 已启用
  5. 打开保存生成规则的 .txt 文件,复制内容,然后将其粘贴到 应用程序访问控制规则 字段。
  6. 仔细检查规则内容,确保规则由 \n 分隔,而不是 \r\n。在 Windows 上,粘贴内容可能会自动将 \n 转换为 \r\n,这可能会导致错误。
  7. 单击 确定

该功能的配置优先级如下:

  1. 如果此设置未使用 GPO、Studio 或 WEM,则使用 .ini 文件中的值。
  2. 如果此设置未在任何位置配置,则该功能将被禁用。

示例

本节将通过一个示例指导您为映像实施应用程序访问控制。

要求

本示例中的要求如下:

  • 使用单个映像为销售、人力资源和工程部门创建虚拟机。
  • 控制对以下应用程序的访问:
    • Microsoft Excel:对人力资源部门的用户不可见。
    • Visual Studio Code:对销售或人力资源部门的用户不可见。

解决方案

安装 Profile Management 以控制对已安装应用程序的访问。

安装模板计算机

安装用于捕获映像的模板计算机。步骤如下:

  1. 将新计算机加入到与您的用户和计算机相同的 AD 域。
  2. 在该计算机上安装以下软件:
    • Windows 10 或 11,或 Windows Server 2016、2019 或 2022(根据需要)
    • Profile Management 版本 2303 或更高版本
    • 所有必需的应用程序

创建和生成隐藏规则

  1. 在模板计算机上,使用规则生成器工具创建和生成隐藏规则。

    • 规则 1:向人力资源部门的用户隐藏 Microsoft Excel(应用程序:Microsoft Excel;分配:人力资源用户组)
    • 规则 2:向销售或人力资源部门的用户隐藏 Visual Studio Code(应用程序:Visual Studio Code;分配:销售用户组和人力资源用户组)
  2. 为这两条规则生成原始数据并将其保存到 .txt 文件中。

有关如何使用该工具的更多信息,请参阅 使用规则生成器创建、生成和部署规则

现在您可以从模板计算机捕获映像。

使用 GPO 启用应用程序访问控制

虚拟机创建后,使用 GPO 集中启用应用程序访问控制并将生成的规则应用于计算机。有关更多信息,请参阅 使用 GPO 启用应用程序访问控制

从 FSLogix 迁移规则集

您可以使用规则生成器工具将 FSLogix 中配置的规则集迁移到 Profile Management 的应用程序访问控制。

注意:

应用程序访问控制不支持 FSLogix 中使用的某些规则类型和分配类型。请检查您的环境并在必要时考虑替代配置。

要迁移 FSLogix 规则集:

  1. 打开 WEM 工具中心 > 应用程序访问控制规则生成器

  2. 单击 导入 > FSLogix 应用程序规则集 以开始迁移。

  3. 单击 浏览,找到使用 FSLogix 规则编辑器保存的 FSLogix 规则定义文件,然后单击 打开

    注意:

    确保规则定义文件及其关联的分配文件存储在同一文件夹中。该工具会迁移受支持的规则集及其分配。

  4. 迁移完成后,请查看详细信息。

    检查是否存在任何不受支持的规则或数据,并验证结果。迁移后,您可以编辑或添加规则。

  5. 单击 导入 以完成此过程。

    迁移的规则现在可用于测试,并且可以与您现有的规则一起保存。

控制对应用程序的访问