This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
VDA 注册
简介
注意:
在本地环境中,VDA 会向 Delivery Controller 注册。在 Citrix Cloud 服务环境中,VDA 会向 Cloud Connector 注册。在混合环境中,一些 VDA 会向 Delivery Controller 注册,而另一些则会向 Cloud Connector 注册。
VDA 投入使用之前,必须先向站点中的一个或多个 Controller 或 Cloud Connector 注册(建立通信)。VDA 通过检查名为 ListofDDCs 的列表来查找 Controller 或 Connector。VDA 上的 ListOfDDCs 包含将该 VDA 指向站点中 Controller 或 Cloud Connector 的 DNS 条目。为了实现负载平衡,VDA 会自动将连接分配到列表中的所有 Controller 或 Cloud Connector。
VDA 注册为何如此重要?
- 从安全角度来看,注册是一项敏感操作。它在 Controller 或 Cloud Connector 与 VDA 之间建立连接。对于此类敏感操作,如果一切不完美,则预期行为是拒绝连接。实际上,它建立了两个独立的通信通道:VDA 到 Controller 或 Cloud Connector,以及 Controller 或 Cloud Connector 到 VDA。该连接使用 Kerberos,因此时间同步和域成员身份问题不容忽视。Kerberos 使用服务主体名称 (SPN),因此无法使用负载平衡的 IP\主机名。
- 如果 VDA 在添加和删除 Controller(或 Cloud Connector)时没有准确且最新的 Controller 或 Cloud Connector 信息,则 VDA 可能会拒绝由未列出的 Controller 或 Cloud Connector 代理的会话启动。无效条目可能会延迟虚拟桌面系统软件的启动。VDA 不会接受来自未知且不受信任的 Controller 或 Cloud Connector 的连接。
除了 ListofDDCs 之外,ListOfSIDs(安全 ID)还指示 ListofDDCs 中哪些计算机是受信任的。ListOfSIDs 可用于减少 Active Directory 上的负载,或避免来自受损 DNS 服务器的潜在安全威胁。有关详细信息,请参阅 ListOfSIDs。
如果 ListofDDCs 指定了多个 Controller 或 Cloud Connector,则 VDA 会尝试按随机顺序连接到它们。在本地部署中,ListofDDCs 还可以包含 Controller 组。VDA 会尝试连接到组中的每个 Controller,然后再转到 ListofDDCs 中的其他条目。
Citrix Virtual Apps and Desktops™ 在 VDA 安装期间会自动测试与已配置的 Controller 或 Cloud Connector 的连接。如果无法访问 Controller 或 Cloud Connector,则会显示错误。如果忽略无法联系 Controller 或 Cloud Connector 的警告(或者在 VDA 安装期间未指定 Controller 或 Cloud Connector 地址),则会显示消息提醒。
配置 Controller 或 Cloud Connector 地址的方法
管理员选择 VDA 首次注册(初始注册)时要使用的配置方法。在初始注册期间,会在 VDA 上创建持久性缓存。在后续注册期间,除非检测到配置更改,否则 VDA 会从此本地缓存中检索 Controller 或 Cloud Connector 列表。
在后续注册期间检索该列表的最简单方法是使用自动更新功能。自动更新默认处于启用状态。有关详细信息,请参阅自动更新。
有多种方法可以在 VDA 上配置 Controller 或 Cloud Connector 地址。
- 基于策略(LGPO 或 GPO)
- 基于注册表(手动、Group Policy Preferences (GPP)、在 VDA 安装期间指定)
- 基于 Active Directory OU(旧版 OU 发现)
- 基于 MCS (personality.ini)
在安装 VDA 时指定初始注册方法。(如果禁用自动更新,则在 VDA 安装期间选择的方法将用于后续注册。)
下图显示了 VDA 安装向导的“Delivery Controller”页面。

基于策略(LGPO\GPO)
Citrix® 建议使用 GPO 进行初始 VDA 注册。它具有最高优先级。(尽管自动更新被列为最高优先级,但自动更新仅在初始注册后使用。)基于策略的注册提供了使用组策略进行配置的集中化优势。
要指定此方法,请完成以下两个步骤:
- 在 VDA 安装向导的“Delivery Controller”页面上,选择“稍后执行(高级)”。向导会多次提醒指定 Controller 地址,即使在 VDA 安装期间未指定这些地址。(VDA 注册非常重要。)
- 通过 Citrix 策略启用或禁用基于策略的 VDA 注册,并使用
Virtual Delivery Agent Settings > Controllers设置。(如果安全性是首要任务,请使用Virtual Delivery Agent Settings > Controller SIDs设置。)
此设置存储在 HKLM\Software\Policies\Citrix\VirtualDesktopAgent (ListOfDDCs) 下。
基于注册表
要指定此方法,请完成以下其中一个步骤:
- 在 VDA 安装向导的交付控制器页面上,选择手动执行。然后,输入已安装控制器的完全限定域名 (FQDN),再单击添加。如果已安装更多控制器,请添加其地址。
- 对于命令行 VDA 安装,请使用
/controllers选项并指定已安装控制器或云连接器的 FQDN。
此信息存储在注册表项 HKLM\Software\Citrix\VirtualDesktopAgent 或 HKLM\Software\Wow6432Node\Citrix\VirtualDesktopAgent 下的注册表值 ListOfDDCs 中。
也可以手动配置此注册表项或使用组策略首选项 (GPP)。此方法可能优于基于策略的方法(例如,如果需要对不同的控制器或云连接器进行条件处理,例如:对于以 XDW-001- 开头的计算机名称,请使用 XDC-001)。
更新 ListOfDDCs 注册表项,其中列出了站点中所有控制器或云连接器的 FQDN。(此注册表项等同于 Active Directory 站点 OU。)
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfDDCs (REG_SZ)
如果 HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent 注册表位置同时包含 ListOfDDCs 和 FarmGUID 项,则 ListOfDDCs 用于控制器或云连接器发现。如果在 VDA 安装期间指定了站点 OU,则 FarmGUID 会存在。(这可能用于旧版部署。)
(可选)更新 ListOfSIDs 注册表项(有关详细信息,请参阅 ListOfSIDs):
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfSIDs (REG_SZ)
请记住:如果还通过 Citrix 策略启用了基于策略的 VDA 注册,该策略将覆盖在 VDA 安装期间指定的设置,因为它是一种优先级更高的方法。
基于 Active Directory OU(旧版)
此方法主要用于向后兼容性,不建议使用。如果仍在使用此方法,Citrix 建议更改为其他方法。
要指定此方法,请完成以下两个步骤:
- 在 VDA 安装向导的交付控制器页面上,选择从 Active Directory 中选择位置。
- 使用
Set-ADControllerDiscovery.ps1脚本(在每个控制器上均可用)。此外,在每个 VDA 上配置FarmGuid注册表项以指向正确的 OU。此设置可以使用组策略进行配置。
基于 MCS
如果使用 MCS 预配 VM,MCS 会设置控制器或云连接器列表。此功能适用于自动更新。创建目录时,MCS 会在初始预配期间将控制器或云连接器列表注入 Personality.ini 文件中。自动更新使列表保持最新。
要指定此方法,请在 VDA 安装向导的交付控制器页面上,选择让 Machine Creation Services™ 执行此操作。
审查和建议
作为最佳实践:
- 使用组策略注册方法进行初始注册。
- 使用自动更新(默认启用)使控制器列表保持最新。
- 在多区域部署中,使用组策略进行初始配置(至少包含两个控制器或云连接器)。将 VDA 指向其区域本地的控制器或云连接器。使用自动更新使其保持最新。自动更新会自动优化卫星区域中 VDA 的
ListofDDCs。 -
在
ListOfDDCs注册表项上列出多个控制器,以空格分隔,以防止在控制器不可用时出现注册问题。例如:DDC7x.xd.local DDC7xHA.xd.local 32-bit: HKEY_LOCAL_MACHINE \Software\Citrix\VirtualDesktopAgent\ListOfDDCs HKEY_LOCAL_MACHINE \Software\Citrix\VirtualDesktopAgent\ListOfDDCs (REG_SZ) <!--NeedCopy--> - 确保
ListofDDCs下列出的所有值都映射到有效的完全限定域名,以防止启动注册延迟。
自动更新
自动更新(在 XenApp 和 XenDesktop 7.6 中引入)默认启用。它是使 VDA 注册保持最新最有效的方法。尽管不用于初始注册,但自动更新软件会在初始注册发生时下载 ListofDDCs 并将其存储在 VDA 上的持久缓存中。此过程针对每个 VDA 执行。缓存还包含计算机策略信息,可确保策略设置在重新启动后保留。
当使用 MCS 或 Citrix Provisioning™ 预配计算机时,自动更新受支持,但 Citrix Provisioning 服务器端缓存除外。服务器端缓存不是常见场景,因为自动更新缓存没有持久存储。
指定此方法:
- 通过包含设置“Virtual Delivery Agent Settings > Enable auto update of Controllers”的 Citrix 策略启用或禁用自动更新。此设置默认处于启用状态。
工作原理:
- 每次 VDA 重新注册(例如,在计算机重新启动后),缓存都会更新。每个 Controller 或 Cloud Connector 还会每 90 分钟检查一次站点数据库。如果自上次检查以来添加或删除了 Controller 或 Cloud Connector,或者发生了影响 VDA 注册的策略更改,则 Controller 或 Cloud Connector 会向其注册的 VDA 发送更新列表,并且缓存会更新。VDA 接受来自其最新缓存列表中的所有 Controller 或 Cloud Connector 的连接。
- 如果 VDA 收到的列表中不包含其注册的 Controller 或 Cloud Connector(换句话说,该 Controller 或 Cloud Connector 已从站点中删除),则 VDA 会重新注册,并从
ListofDDCs中的 Controller 或 Cloud Connector 中进行选择。
示例:
- 部署中有三个 Controller:A、B 和 C。一个 VDA 注册到 Controller B(在 VDA 安装期间指定)。
- 稍后,将两个 Controller(D 和 E)添加到站点。在 90 分钟内,VDA 会收到更新的列表,然后接受来自 Controller A、B、C、D 和 E 的连接。(在 VDA 重新启动之前,负载不会平均分配给所有 Controller。)
- 再稍后,Controller B 移至另一个站点。在 90 分钟内,原始站点中的 VDA 会收到更新的列表,因为自上次检查以来 Controller 已发生更改。最初注册到 Controller B(不再在列表中)的 VDA 会重新注册,并从当前列表(A、C、D 和 E)中的 Controller 中进行选择。
在多区域部署中,卫星区域中的自动更新会首先自动缓存所有本地 Controller。主区域中的所有 Controller 都缓存在备份组中。如果卫星区域中没有可用的本地 Controller,则会尝试向主区域中的 Controller 注册。
如以下示例所示,缓存文件包含主机名和安全 ID 列表 (ListofSIDs)。VDA 不查询 SID,因此可减少 Active Directory 负载。

您可以通过 WMI 调用检索缓存文件。但是,它存储在只有 SYSTEM 帐户才能读取的位置。
重要:
此信息仅供参考。请勿修改此文件。对此文件或文件夹的任何修改都将导致不受支持的配置。
Get-WmiObject -Namespace "Root\Citrix\DesktopInformation" -Class "Citrix_VirtualDesktopInfo" -Property "PersistentDataLocation"
如果出于安全原因(与减少 Active Directory 负载不同)需要手动配置 ListofSIDs,则无法使用自动更新功能。有关详细信息,请参阅 ListOfSIDs。
自动更新优先级的例外情况
尽管自动更新通常在所有 VDA 注册方法中具有最高优先级,并会覆盖其他方法的设置,但存在一个例外情况。缓存中的 NonAutoListOfDDCs 元素指定了初始 VDA 配置方法。自动更新会监视此信息。如果初始注册方法发生更改,则注册过程会跳过自动更新,并使用下一个最高配置的优先级方法。当您将 VDA 移动到另一个站点时(例如,在灾难恢复期间),此过程会很有帮助。
配置注意事项
查看常见的 VDA 注册配置。
查看 VDA 注册步骤。
配置可能影响 VDA 注册的项目时,请考虑以下事项。
Controller 或 Cloud Connector 地址
无论您使用哪种方法指定 Controller 或 Cloud Connector,Citrix 都建议使用 FQDN 地址。IP 地址不被视为受信任的配置,因为与 DNS 记录相比,IP 更容易受到攻击。如果您手动填充 ListofSIDs,则可以在 ListofDDCs 中使用 IP。但是,仍建议使用 FQDN。
负载平衡
如前所述,VDA 会自动将连接分配到 ListofDDCs 中的所有 Controller 或 Cloud Connector。故障转移和负载平衡功能内置于 Citrix 代理协议 (CBP) 中。如果配置中指定了多个 Controller 或 Cloud Connector,则在需要时,注册会自动在它们之间进行故障转移。借助自动更新功能,所有 VDA 都会自动进行故障转移。
出于安全原因,无法使用网络负载平衡器,例如 Citrix ADC。VDA 注册使用 Kerberos 相互身份验证,其中客户端 (VDA) 必须向服务 (Controller) 证明其身份。但是,Controller 或 Cloud Connector 也必须向 VDA 证明其身份。这意味着 VDA 和 Controller 或 Cloud Connector 同时充当服务器和客户端。如本文开头所述,存在两个通信通道:VDA 到 Controller/Cloud Connector 和 Controller/Cloud Connector 到 VDA。
此过程中的一个组件称为服务主体名称 (SPN),它作为属性存储在 Active Directory 计算机对象中。当 VDA 连接到 Controller 或 Cloud Connector 时,它必须指定要与之通信的对象。此地址是一个 SPN。如果使用负载平衡 IP,Kerberos 相互身份验证会正确识别该 IP 不属于预期的 Controller 或 Cloud Connector。
有关详细信息,请参阅:
自动更新取代 CNAME
自动更新功能取代了 XenApp 和 XenDesktop 7.x 之前版本中的 CNAME (DNS 别名) 功能。从 XenApp 和 XenDesktop 7 开始,CNAME 功能已禁用。请使用自动更新而不是 CNAME。(如果必须使用 CNAME,请参阅 CTX137960。为了使 DNS 别名功能保持一致,请勿同时使用自动更新和 CNAME。)
Controller/Cloud Connector 组
在某些情况下,可能需要对 Controller 或 Cloud Connector 进行分组处理,其中一个组是首选组,如果所有 Controller/Cloud Connector 都发生故障,则使用另一个组进行故障转移。请记住,Controller 或 Cloud Connector 是从列表中随机选择的,因此分组有助于强制优先使用。
这些组旨在用于单个站点(而非多个站点)。
使用括号指定 Controller/Cloud Connector 组。例如,如果有四个 Controller(两个主 Controller 和两个备份 Controller),则分组可能如下所示:
(XDC-001.cdz.lan XDC-002.cdz.lan) (XDC-003.cdz.lan XDC-004.cdz.lan)
在此示例中,将首先处理第一个组中的 Controller(001 和 002)。如果两者都发生故障,则处理第二个组中的 Controller(003 和 004)。
对于 XenDesktop 7.0 或更高版本,需要执行一个额外步骤才能使用 注册组 功能。需要从 Studio 禁止“启用 Controller 自动更新”策略。
ListOfSIDs
VDA 可以联系以进行注册的 Controller 列表是 ListofDDCs。VDA 还必须知道要信任哪些 Controller,因为 VDA 不会自动信任 ListofDDCs 中的 Controller。ListofSIDs(安全 ID)用于标识受信任的 Controller。VDA 仅尝试向受信任的 Controller 注册。
在大多数环境中,ListofSIDs 是从 ListofDDCs 自动生成的。可以使用 CDF 跟踪来读取 ListofSIDs。
通常,无需手动修改 ListofSIDs。有几个例外。前两个例外不再有效,因为已有更新的技术可用。
-
Controller 的单独角色: 在 XenApp 和 XenDesktop 7.7 中引入区域之前,当仅使用 Controller 的子集进行注册时,
ListofSIDs是手动配置的。例如,如果使用 XDC-001 和 XDC-002 作为 XML 代理,并使用 XDC-003 和 XDC-004 进行 VDA 注册,则在ListofSIDs中指定所有 Controller,并在ListofDDCs中指定 XDC-003 和 XDC-004。这不是典型或推荐的配置。请勿在较新的环境中使用它。请改用区域。 -
减少 Active Directory 负载: 在 XenApp 和 XenDesktop 7.6 中引入自动更新功能之前,
ListofSIDs用于减少域控制器上的负载。通过预填充ListofSIDs,可以跳过从 DNS 名称到 SID 的解析。但是,自动更新功能消除了此工作的需要,因为此持久缓存包含 SID。Citrix 建议保持启用自动更新功能。 - 安全性: 在某些高度安全的部署环境中,会手动配置受信任 Controller 的 SID,以避免受损 DNS 服务器可能带来的安全威胁。但是,如果执行此操作,还必须禁用自动更新功能。否则,将使用持久缓存中的配置。
因此,除非有特定原因,否则请勿修改 ListofSIDs。
如果必须修改 ListofSIDs,请在 HKLM\Software\Citrix\VirtualDesktopAgent 下创建一个名为 ListOfSIDs (REG_SZ) 的注册表项。该值是受信任 SID 的列表,如果有多个 SID,则用空格分隔。
在以下示例中,一个 Controller 用于 VDA 注册 (ListofDDCs),但两个 Controller 用于代理 (ListofSIDs)。

VDA 注册期间的 Controller 搜索
VDA 尝试注册时,Broker Agent 首先在本地域中执行 DNS 查找,以确保可以访问指定的 Controller。
如果初始查找未找到 Controller,Broker Agent 可以启动 AD 中的回退自上而下查询。该查询会搜索所有域,并频繁重复。如果 Controller 地址无效(例如,管理员在安装 VDA 时输入了不正确的 FQDN),则该查询活动可能会导致域控制器上出现分布式拒绝服务 (DDoS) 情况。
以下注册表项控制 Broker Agent 在初始搜索期间无法找到 Controller 时是否使用回退自上而下查询。
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent
- Name:
DisableDdcWildcardNameLookup - Type:
DWORD - Value:
0(默认)或任何非零值
设置为 0 时,将启用回退搜索。如果 Controller 的初始搜索失败,则会启动回退自上而下搜索。这是默认行为。但是,如果设置为任何非零值,则会禁用回退搜索。如果 Controller 的初始搜索失败,Broker Agent 将停止查找。
使用只读域控制器进行 VDA 注册期间的 LDAP 绑定序列
当 VDA 向只读域控制器 (RODC) 注册时,Broker Agent 必须选择要忽略的轻型目录访问协议 (LDAP) 绑定。为了进行此选择,Broker Agent 需要一个合适的注册表项。
如果未提供注册表项,或者注册表项字段为空,则 VDA 向 RODC 注册所需的时间会更长,因为它需要通过原始 LDAP 绑定序列。
为了修改 LDAP 绑定序列,注册表项 ListofIgnoredBindings 已添加到 HKEY_LOCAL_MACHINE\Software\Policies\Citrix\VirtualDesktopAgent。使用 ListofIgnoredBindings 可以根据需要修改 LDAP 绑定序列,从而加快 VDA 向 RODC 注册的速度。
- Name:
ListofIgnoredBindings - Type:
REG_SZ - Values:
DefaultPath、DomainPath、PDCPath
该值是一个绑定路径选项列表,每个选项之间用逗号分隔。注册表项会忽略它不识别为有效的值。
解决 VDA 注册问题
如前所述,VDA 必须向 Delivery Controller 或 Cloud Connector 注册,才能在启动代理会话时被考虑。未注册的 VDA 可能会导致原本可用的资源利用不足。VDA 未注册的原因有很多,其中许多问题管理员都可以进行故障排除。Studio 在目录创建向导中以及创建交付组后提供故障排除信息。
-
在计算机目录创建期间识别问题: 在目录创建向导中,添加现有计算机后,计算机帐户名称列表会指示每台计算机是否适合添加到目录。将鼠标悬停在每台计算机旁边的图标上,可显示有关该计算机的信息性消息。
如果消息识别出有问题的计算机,您可以删除该计算机(使用 Remove 按钮),或添加该计算机。例如,如果消息指示未获取有关计算机的信息(可能是因为它从未注册),您仍然可以选择添加该计算机。
目录的功能级别控制目录中哪些产品功能可用于计算机。使用新产品版本中引入的功能可能需要新的 VDA。设置功能级别可使该版本中引入的所有功能(以及以后版本中引入的功能,如果功能级别未更改)可用于目录中的计算机。但是,目录中具有早期 VDA 版本的计算机将无法注册。
-
创建交付组后识别问题: 创建交付组后,Studio 会显示与该组关联的计算机的详细信息。
交付组的详细信息窗格会指示必须注册但未注册的计算机数量。换句话说,可能有一台或多台计算机已开机且未处于维护模式,但当前未向 Controller 注册。查看“未注册但必须注册”的计算机时,请查看详细信息窗格中的 Troubleshoot 选项卡,以了解可能的原因和建议的纠正措施。
有关 VDA 注册故障排除的更多信息
-
有关功能级别的更多信息,请参阅VDA 版本和功能级别。
-
有关 VDA 注册故障排除的更多信息,请参阅 CTX136668。
-
您还可以使用 Citrix Scout 运行状况检查来解决 VDA 注册和会话启动问题。有关详细信息,请参阅关于运行状况检查。
共享
共享
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.