Profile Management

控制对应用程序的访问

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

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

注意:

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

概述

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

隐藏规则包括两部分:

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

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

  • 分配。要对其隐藏应用程序的用户、计算机和进程。

分配类型

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

类别 类型
进程 不适用
用户
  • AD 和 Azure Active Directory (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 将隐藏规则应用到您的环境中的计算机。有关详细信息,请参阅使用 GPO 启用应用程序访问控制

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

本部分指导您使用基于 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 AD 组 在 WEM Web 控制台中使用 AAD/NDJ 对象选择器收集组的 SID 和名称,然后采用以下形式输入它们:sid1\name1|sid2\name2。示例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\TestGroup1|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\TestGroup2
  4. 重复步骤 3 为其他应用程序创建隐藏规则。
  5. 按照屏幕上的提示生成您配置的规则的原始数据,然后将其保存在 .txt 文件中以备将来使用。
  6. 要测试规则是否按预期工作,请按照屏幕上的提示将其部署到这台计算机或一组计算机上。

    注意:

    我们不建议使用此工具将规则部署到生产环境。

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

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

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

  1. 打开“组策略管理编辑器”。
  2. 访问 Policies(策略)> Administrative Templates: Policy definitions (ADMX files)(管理模板: 策略定义(ADMX 文件))> Citrix Components(Citrix 组件)> Profile Management > App access control(应用程序访问控制)
  3. 双击 App access control(应用程序访问控制)。
  4. 在出现的策略窗口中,选择 Enabled(已启用)。
  5. 打开保存生成的规则的 .txt 文件,复制内容并将其粘贴到 App access control rules(应用程序访问控制规则)字段。
  6. 单击确定

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

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

示例

本部分内容使用示例指导您实现映像的应用程序访问控制。

要求

此示例中的要求如下:

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

解决方案

安装 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 代码(应用程序:Visual Studio 代码;分配:销售用户组和人力资源用户组)
  2. 为这两个规则生成原始数据并将其保存到 .txt 文件中。

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

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

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

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

控制对应用程序的访问