Product Documentation

基于 Active Directory OU 的控制器发现

Nov 06, 2015

支持此 Delivery Controller 检测方法主要是为实现向后兼容性,这种方法仅适用于 Virtual Delivery Agent (VDA) for Windows Desktop,而不适用于 VDA for Windows Server。进行基于 Active Directory 的发现时,要求站点中的所有计算机都是域的成员,并且在控制器所使用的域与桌面所使用的域之间存在相互信任的关系。如果您使用此方法,则必须在每个桌面注册表中配置 OU 的 GUID。

要执行基于 OU 的 Controller 发现,请在 Controller 上运行Set-ADControllerDiscovery.ps1PowerShell 脚本(每个 Controller 的文件夹 $Env:ProgramFiles\Citrix\Broker\Service\Setup Scripts 中包含此脚本)。要运行该脚本,必须在父 OU 上拥有 CreateChild 权限,以及完全管理员权限。

如果希望桌面通过 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 的控制器发现将控制器移动到其他站点

请按照移动控制器中的说明操作。从旧站点中删除 Controller(第 2 步)后,运行 PowerShell 脚本Set-ADControllerDiscover –sync

该脚本会将 OU 与控制器的当前设置进行同步。加入现有站点(第 4 步)后,在新站点中的所有控制器上运行相同脚本。