控制对应用程序的访问
应用程序访问控制功能允许您使用规则控制对应用程序的访问。使用此功能,您可以简化应用程序和映像的管理。例如,您可以将相同的计算机交付给不同的部门,同时满足其独特的应用程序要求,从而减少映像数量。
本文将引导您完成启用应用程序访问控制和配置控制规则的过程。它还提供了使用此功能简化虚拟环境中的映像管理的示例。
注意:
此功能同时适用于 Active Directory (AD) 环境和非加入域 (NDJ) 的环境。
概述
借助应用程序访问控制功能,您可以通过配置隐藏规则对用户、计算机和进程隐藏应用程序。
隐藏规则包括两部分:
-
要隐藏的对象。要对应用程序隐藏的文件、文件夹和注册表项。
例如,要隐藏应用程序,必须指定与此应用程序关联的所有对象,例如文件、文件夹和注册表项。
-
分配。要对其隐藏应用程序的用户、计算机和进程。
分配类型
隐藏规则中的分配分为三类:进程、用户,以及计算机。具体的分配类型如下所列:
类别 | 类型 |
---|---|
进程 | 不适用 |
用户
|
|
计算机
|
|
注意:
- 在应用程序访问控制环境中,OU 仅用作计算机的容器,不用作用户的容器。因此,OU 分配只能对 OU 中的计算机隐藏应用程序,不能对 OU 中的用户隐藏。
- NDJ 计算机仅限于 Citrix 创建并进行电源管理的那些计算机。
当隐藏规则配置了多个分配时,请注意以下注意事项:
- 如果这些分配属于同一类别(例如,用户 A 和用户组 B),则应用程序将对这些分配中指定的所有对象(用户 A 和用户组 B 中的所有用户)隐藏。
- 如果这些分配属于不同的类别(例如,用户 A 和计算机 X),则当满足所有这些分配中指定的条件时(当用户 A 登录到计算机 X 时),应用程序将隐藏。
- 如果这些分配属于流程类别,应用程序将对在这些分配中指定的所有进程隐藏。
注意:
如果没有为规则配置任何分配,在该规则中指定的应用程序将被隐藏。
工作流
借助应用程序访问控制功能,Profile Management 可以根据您提供的规则向用户、计算机和进程隐藏应用程序。概况而言,实现应用程序访问控制的工作流程如下所述:
-
创建和生成隐藏规则。您可以使用两个工具:
- 基于 GUI 的工具 - WEM Tool Hub(WEM 工具中心)> Rule Generator for App Access Control(用于应用程序访问控制的规则生成器)
- PowerShell 工具 – 随 Profile Management 安装包提供。有关详细信息,请参阅使用规则生成器创建、管理和部署规则。
-
使用 GPO 将隐藏规则应用到您的环境中的计算机。有关详细信息,请参阅使用 GPO 启用应用程序访问控制。
使用规则生成器创建、管理和部署规则
本部分指导您使用基于 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_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
-
- 重复步骤 3 为其他应用程序创建隐藏规则。
- 按照屏幕上的提示生成您配置的规则的原始数据,然后将其保存在 .txt 文件中以备将来使用。
- 要测试规则是否按预期工作,请按照屏幕上的提示将其部署到这台计算机或一组计算机上。
注意:
我们不建议使用此工具将规则部署到生产环境。
使用 GPO 启用应用程序访问控制
创建并生成隐藏规则后,您可以使用 GPO 将其应用于环境中的计算机。
要将控制规则应用到使用 GPO 的计算机,请执行以下步骤:
- 打开“组策略管理编辑器”。
- 访问 Policies(策略)> Administrative Templates: Policy definitions (ADMX files)(管理模板: 策略定义(ADMX 文件))> Citrix Components(Citrix 组件)> Profile Management > App access control(应用程序访问控制)。
- 双击 App access control(应用程序访问控制)。
- 在出现的策略窗口中,选择 Enabled(已启用)。
- 打开保存生成的规则的 .txt 文件,复制内容并将其粘贴到 App access control rules(应用程序访问控制规则)字段。
- 单击确定。
该功能的配置优先级如下:
- 如果未使用 GPO、Studio 或 WEM 配置此设置,则将使用 .ini 文件中的值。
- 如果未在任何位置配置此设置,该功能将处于禁用状态。
示例
本部分内容使用示例指导您实现映像的应用程序访问控制。
要求
此示例中的要求如下:
- 使用单个映像为销售、人力资源和工程部门创建虚拟机。
- 控制对以下应用程序的访问:
- Microsoft Excel:对人力资源部门的用户不可见。
- Visual Studio 代码:对销售或人力资源部门的用户不可见。
解决方案
安装 Profile Management 以控制对已安装的应用程序的访问。
安装模板计算机
安装用于捕获映像的模板计算机。过程如下:
- 将新计算机加入与您的用户和计算机相同的 AD 域。
- 在计算机上安装以下软件:
- Windows 10 或 11 或者 Windows Server 2016、2019 或 2022(根据需要)
- Profile Management 版本 2303 或更高版本
- 所有必需的应用程序
创建和生成隐藏规则
-
在模板计算机上,使用规则生成器创建并生成隐藏规则。
- 规则 1:向人力资源部门的用户隐藏 Microsoft Excel(应用程序:Microsoft Excel;分配:人力资源用户组)
- 规则 2:向销售或人力资源部门的用户隐藏 Visual Studio 代码(应用程序:Visual Studio 代码;分配:销售用户组和人力资源用户组)
-
为这两个规则生成原始数据并将其保存到 .txt 文件中。
有关如何使用该工具的详细信息,请参阅使用规则生成器创建、生成和部署规则。
现在,您可以从模板计算机捕获映像。
使用 GPO 启用应用程序访问控制
创建虚拟机后,使用 GPO 集中启用应用程序访问控制并将生成的规则应用到计算机。有关详细信息,请参阅使用 GPO 启用应用程序访问控制。