控制对应用程序的访问
应用程序访问控制功能允许您使用规则控制对应用程序的访问。借助此功能,您可以简化应用程序和映像的管理。例如,您可以向不同部门交付相同的计算机,同时满足其独特的应用程序要求,从而减少映像的数量。
本文将引导您完成启用应用程序访问控制和配置控制规则的过程。它还提供了一个示例,说明如何使用此功能来简化虚拟环境中的映像管理。
注意:
此功能适用于 Active Directory (AD) 和非域加入 (NDJ) 环境。
概述
借助应用程序访问控制功能,您可以通过配置隐藏规则来向用户、计算机和进程隐藏应用程序。
隐藏规则由两部分组成:
-
要隐藏的对象。 您希望为应用程序隐藏的文件、文件夹和注册表项。
例如,要隐藏某个应用程序,您必须指定与该应用程序关联的所有对象,例如文件、文件夹和注册表项。
-
分配。 您希望向其隐藏应用程序的用户、计算机和进程。
分配类型
隐藏规则中的分配分为三类:进程、用户和计算机。具体分配类型如下:
| 类别 | 类型 |
|---|---|
| 进程 | 任何进程 |
| 用户
|
|
| 计算机
|
|
注意:
- 在应用程序访问控制策略的上下文中,OU 仅用作计算机的容器,而不用作用户的容器。因此,OU 分配仅对 OU 中的计算机隐藏应用程序,而不对 OU 中的用户隐藏应用程序。
- NDJ 计算机仅限于 Citrix® 创建和电源管理的那些计算机。
当隐藏规则配置了多个分配时,请注意以下事项:
- 如果这些分配属于同一类别(例如,用户 A 和 用户组 B),则应用程序将对这些分配中指定的所有对象隐藏(用户 A 和用户组 B 中的所有用户)。
- 如果这些分配属于不同类别(例如,用户 A 和 计算机 X),则当满足所有这些分配中指定的条件时(当用户 A 登录到计算机 X 时),应用程序将被隐藏。
- 如果这些分配属于 进程类别,则应用程序将对这些分配中指定的所有进程隐藏。
注意:
如果未为规则配置任何分配,则规则中指定的应用程序将被隐藏。
工作流程
借助应用程序访问控制功能,Profile Management 可以根据您提供的规则向用户、计算机和进程隐藏应用程序。从宏观角度来看,实施应用程序访问控制的工作流程如下:
-
创建并生成隐藏规则。您可以使用以下两种工具:
- 基于 GUI 的工具 – WEM 工具中心 > 应用程序访问控制规则生成器
- PowerShell 工具 – 随 Profile Management 安装包提供。有关详细信息,请参阅 Create, manage, and deploy rules using Rule Generator。
-
使用 GPO 将隐藏规则应用于环境中的计算机。有关详细信息,请参阅 Enable app access control using GPOs。
使用规则生成器创建、管理和部署规则
本节将指导您使用基于 PowerShell 的规则生成器来创建、管理和部署规则。
开始之前,请确保运行该工具的计算机满足以下要求:
- 在 Windows 10 或 11,或 Windows Server 2016、2019 或 2022 上运行。
- (仅限 AD 环境) 与您的用户和计算机位于同一域中。
一般过程如下:
- 以管理员身份运行 Windows PowerShell。
-
访问 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 移出该文件夹。
- 按照屏幕上的说明创建、管理和生成隐藏规则:
-
查看计算机上安装的每个应用程序及其状态:
- 未配置。未为该应用程序配置任何规则。
- 已配置。已为该应用程序配置一个或多个规则,但这些规则均未应用于计算机。
- 已配置并已应用。已为该应用程序配置一个或多个规则,并且至少有一个规则已应用于计算机。

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

-
要隐藏所选应用程序的额外文件、文件夹或注册表项,请选择相应的操作类型,然后通过输入其名称和路径来添加对象。重复此步骤以添加更多。
注意事项:
- 路径中的系统环境变量(例如 %windir%)受支持,而用户环境变量(例如 %appdata%)不受支持。
- 文件和文件夹支持通配符
*和?。当字符串中有多个星号 (‘*’) 时,两个星号之间的字符将被忽略。例如,在字符串c:\users\Finance*Manangement*中,字符*Management*被视为单个星号 (*)。
注意:
您还可以通过将应用程序与某些文件、文件夹和注册表项关联来手动定义应用程序。
-
配置规则的分配。具体来说,指定分配类型,然后输入要从中隐藏应用程序的特定对象。有关详细信息,请参阅下表。

注意:
如果您未为规则配置任何分配,则规则中指定的应用程序将不可见。
分配类型 描述 AD 用户、用户组或 OU 输入其 AD 域名,用竖线 (|) 分隔。 AD 计算机 输入其 DNS 主机名,用竖线 (|) 分隔。 NDJ 计算机目录 输入目录名称,用竖线 (|) 分隔。示例: Machine_catalog_name1\|Machine_catalog_name2NDJ 计算机
在 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\Tester2Azure 活动目录组 在 WEM Web 控制台中,使用 AAD/NDJ 对象选择器 收集组的 SID 和名称,然后按以下格式输入: sid1\name1\|sid2\name2。示例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\TestGroup1\|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\TestGroup2注意: 要排除特定用户或计算机,请在其标识符前添加 EX>。要排除特定进程,请在其标识符前添加?。使用竖线 (|) 将排除项与分配的组分开。
-
- 重复步骤 3,为其他应用程序创建隐藏规则。
- 按照屏幕提示生成您配置的规则的原始数据,然后将其保存到 .txt 文件中以备将来使用。
- 要测试规则是否按预期工作,请按照屏幕提示将其部署到此计算机或一组计算机。
使用 GPO 启用应用程序访问控制
创建并生成隐藏规则后,您可以使用 GPO 将其应用于环境中的计算机。
要使用 GPO 将控制规则应用于计算机,请执行以下步骤:
- 打开组策略管理编辑器。
- 访问 策略 > 管理模板: 策略定义 (ADMX 文件) > Citrix 组件 > Profile Management > 应用程序访问控制。
- 双击 应用程序访问控制。
- 在出现的策略窗口中,选择 已启用。
- 打开保存生成规则的 .txt 文件,复制内容,然后将其粘贴到 应用程序访问控制规则 字段。
- 仔细检查规则内容,确保规则由
\n分隔,而不是\r\n。在 Windows 上,粘贴内容可能会自动将\n转换为\r\n,这可能会导致错误。 - 单击 确定。
该功能的配置优先级如下:
- 如果此设置未使用 GPO、Studio 或 WEM,则使用 .ini 文件中的值。
- 如果此设置未在任何位置配置,则该功能将被禁用。
示例
本节将通过一个示例指导您为映像实施应用程序访问控制。
要求
本示例中的要求如下:
- 使用单个映像为销售、人力资源和工程部门创建虚拟机。
- 控制对以下应用程序的访问:
- Microsoft Excel:对人力资源部门的用户不可见。
- Visual Studio Code:对销售或人力资源部门的用户不可见。
解决方案
安装 Profile Management 以控制对已安装应用程序的访问。
安装模板计算机
安装用于捕获映像的模板计算机。步骤如下:
- 将新计算机加入到与您的用户和计算机相同的 AD 域。
- 在该计算机上安装以下软件:
- Windows 10 或 11,或 Windows Server 2016、2019 或 2022(根据需要)
- Profile Management 版本 2303 或更高版本
- 所有必需的应用程序
创建和生成隐藏规则
-
在模板计算机上,使用规则生成器工具创建和生成隐藏规则。
- 规则 1:向人力资源部门的用户隐藏 Microsoft Excel(应用程序:Microsoft Excel;分配:人力资源用户组)
- 规则 2:向销售或人力资源部门的用户隐藏 Visual Studio Code(应用程序:Visual Studio Code;分配:销售用户组和人力资源用户组)
-
为这两条规则生成原始数据并将其保存到 .txt 文件中。
有关如何使用该工具的更多信息,请参阅 使用规则生成器创建、生成和部署规则。
现在您可以从模板计算机捕获映像。
使用 GPO 启用应用程序访问控制
虚拟机创建后,使用 GPO 集中启用应用程序访问控制并将生成的规则应用于计算机。有关更多信息,请参阅 使用 GPO 启用应用程序访问控制。
从 FSLogix 迁移规则集
您可以使用规则生成器工具将 FSLogix 中配置的规则集迁移到 Profile Management 的应用程序访问控制。
注意:
应用程序访问控制不支持 FSLogix 中使用的某些规则类型和分配类型。请检查您的环境并在必要时考虑替代配置。
要迁移 FSLogix 规则集:
-
单击 导入 > FSLogix 应用程序规则集 以开始迁移。
-
单击 浏览,找到使用 FSLogix 规则编辑器保存的 FSLogix 规则定义文件,然后单击 打开。
注意:
确保规则定义文件及其关联的分配文件存储在同一文件夹中。该工具会迁移受支持的规则集及其分配。
-
迁移完成后,请查看详细信息。
检查是否存在任何不受支持的规则或数据,并验证结果。迁移后,您可以编辑或添加规则。
-
单击 导入 以完成此过程。
迁移的规则现在可用于测试,并且可以与您现有的规则一起保存。