基于活动目录组织单位的控制器发现
此 Delivery Controller™ 发现方法主要用于向后兼容,并且仅适用于 Windows 桌面操作系统的虚拟交付代理 (VDA),而不适用于 Windows 服务器操作系统的虚拟交付代理 (VDA)。
有关可配置的其他方法(包括推荐方法)以使 VDA 能够向控制器注册的信息,请参阅 VDA 向控制器注册。
基于 Active Directory 的发现要求站点中的所有计算机都是域的成员,并且控制器使用的域与桌面使用的域之间存在相互信任关系。如果使用此方法,则必须在每个桌面注册表中配置 OU 的 GUID。
To perform an OU-based Controller discovery, run the Set-ADControllerDiscovery.ps1 PowerShell script on the Controller (each Controller contains this script in the folder $Env:ProgramFiles\Citrix\Broker\Service\Setup Scripts). To run the script, you must have CreateChild permissions on a parent OU, plus full administration rights.
创建站点时,如果希望桌面通过 Active Directory 发现站点中的控制器,则必须在 Active Directory 中创建相应的组织单位 (OU)。OU 可以在包含您的计算机的林中的任何域中创建。作为最佳实践,OU 也应包含站点中的控制器,但这并非强制或必需。具有适当权限的域管理员可以将 OU 创建为空容器,然后将 OU 的管理权限委派给 Citrix 管理员。
该脚本创建了几个基本对象。仅创建和使用标准 Active Directory 对象。无需扩展架构。
-
一个控制器安全组。站点中所有控制器的计算机帐户都必须是此安全组的成员。站点中的桌面仅在其是此安全组的成员时才接受来自控制器的数据。
确保所有控制器在运行 VDA 的所有虚拟桌面上都具有“从网络访问此计算机”权限。您可以通过向控制器安全组授予此权限来完成此操作。如果控制器没有此权限,VDA 将无法注册。
-
一个服务连接点 (SCP) 对象,其中包含有关站点的信息,例如站点名称。如果使用 Active Directory 用户和计算机管理工具检查站点 OU,则可能需要在“视图”菜单中启用“高级功能”才能看到 SCP 对象。
-
一个名为 RegistrationServices 的容器,它在站点 OU 中创建。此容器包含站点中每个控制器的一个 SCP 对象。每次控制器启动时,它都会验证其 SCP 的内容并在必要时进行更新。
如果在初始安装后可能有多个管理员添加和删除控制器,则他们需要对 RegistrationServices 容器具有创建和删除子项的权限,以及对控制器安全组具有写入属性的权限。运行 Set-ADControllerDiscovery.ps1 脚本的管理员会自动获得这些权限。域管理员或原始安装管理员可以授予这些权限,Citrix 建议为此设置一个安全组。
使用站点 OU 时:
- 信息仅在安装或卸载此软件时,或在控制器启动并需要更新其 SCP 中的信息时(例如,因为控制器已重命名或通信端口已更改)写入 Active Directory。默认情况下,Set-ADControllerDiscovery.ps1 脚本会在站点 OU 中的对象上适当地设置权限,为每个控制器提供对其 SCP 的写入访问权限。站点 OU 中对象的内容用于在桌面和控制器之间建立信任。请确保:
- 只有经过授权的管理员才能使用安全组的访问控制列表 (ACL) 从控制器安全组中添加或删除计算机。
- 只有授权管理员和相应的控制器才能更改控制器 SCP 中的信息。
- 如果您的部署使用复制,请注意潜在的延迟。有关详细信息,请参阅 Microsoft 文档。如果您在具有多个 Active Directory 站点的域中创建站点 OU,这一点尤其重要。根据桌面、控制器和域控制器所在的位置,在最初创建站点 OU、安装或卸载控制器,或更改控制器名称或通信端口时对 Active Directory 所做的更改,可能在信息复制到相应的域控制器之前对桌面不可见。此类复制延迟的症状包括桌面无法与控制器建立联系,因此无法用于用户连接。
- 此软件使用 Active Directory 中的几个标准计算机对象属性来管理桌面。根据您的部署,存储在桌面 Active Directory 记录中的计算机对象的完全限定域名可以作为返回给用户以建立连接的连接设置的一部分。请确保此信息与您的 DNS 环境中的信息一致。
要使用基于 OU 的控制器发现将控制器移动到另一个站点,请按照上述移动控制器的说明进行操作。从旧站点中删除控制器(步骤 2)后,运行 PowerShell 脚本 Set-ADControllerDiscovery –sync。此脚本将 OU 与当前控制器集同步。加入现有站点(步骤 3)后,在新站点中的任何控制器上运行相同的脚本。
基于 OU 的发现所需的权限
要创建站点,运行脚本的 Citrix 管理员必须对站点 OU 具有创建对象(SCP、容器和安全组)的权限。
如果站点 OU 不存在,管理员也必须具有创建它的权限。Citrix 建议 AD 域管理员预先创建该 OU,并将权限委托给 Citrix 站点管理员身份。或者,脚本也可以创建站点 OU。为此,管理员需要对新 OU 的父 OU 具有“创建 OU”权限。但是,如前所述,Citrix 不建议这样做。
稍后,要从站点添加或删除控制器,Citrix 管理员必须具有从安全组添加/删除计算机以及创建/删除 SCP 的权限。
在正常操作期间,控制器和 VDA 需要对 OU 及以下所有对象具有读取权限。VDA 以其自身的计算机身份访问 OU;该计算机身份至少需要对 OU 具有读取权限才能发现控制器。控制器还需要在容器中对其自身的 SCP 对象设置属性的权限。
授予 Citrix 管理员对子 OU 的完全权限将允许所有这些操作。但是,如果您的部署具有更严格的安全要求(例如限制谁可以使用脚本执行哪些操作),您可以使用“委派控制”向导来设置特定权限。以下示例过程授予创建站点的权限。
- 创建一个 OU 以包含子对象(服务连接点 (SCP)、容器和安全组)。
- 选择 OU,然后右键单击并选择 委派控制。
- 在“委派控制”向导中,指定要将 OU 控制权委派给的域用户。
- 在“要委派的任务”页面上,选择“创建要委派的自定义任务”。
- 在“Active Directory 对象类型”页面上,接受默认值“此文件夹、此文件夹中的现有对象以及在此文件夹中创建新对象”。
- 在“权限”页面上,选中“写入和创建所有子对象”复选框。
- 完成向导,以验证权限的正确性。