Citrix Virtual Apps and Desktops

会话

维护会话处于活动状态对于提供最佳用户体验至关重要。如果由于网络不稳定、网络延迟变化无常以及无线设备的覆盖范围受限等因素而使连接断开,会令用户感到沮丧。对于许多移动工作人员(例如医护人员)而言,在设备之间快速移动以及在每次登录时访问相同的应用程序是需要优先考虑的事项。

本文所述的功能可以优化会话的可靠性,减少不便之处、停机时间以及生产力损失,还可以为移动用户提供在设备之间快速、轻松漫游的能力。

还可以使用户注销会话、断开会话连接以及配置会话预启动和延迟,请参阅管理交付组

会话可靠性

会话可靠性使会话在网络连接中断时保持活动状态并显示在用户的屏幕上。用户仍然可以看到他们正在使用的应用程序,直至网络连接恢复。

此功能对于使用无线连接的移动用户尤为有用。例如,使用无线连接的用户进入铁路隧道后将暂时失去连接。通常,会话会断开连接并从用户屏幕上消失,然后该用户必须重新连接到已断开连接的会话。会话可靠性可使会话在计算机上保持活动状态。为指示连接已断开,用户的显示内容将冻结,且光标变成一个旋转的沙漏,直至用户到达通道的另一端后恢复连接。用户在连接中断期间可继续访问显示内容,在网络连接恢复后可继续与应用程序交互。会话可靠性可重新连接用户而不提示进行重新身份验证。

Citrix Workspace 应用程序用户无法覆盖 Controller 设置。

结合使用会话可靠性与传输层安全性 (TLS)。TLS 仅对用户设备和 Citrix Gateway 之间发送的数据进行加密。

使用以下策略设置启用和配置会话可靠性:

  • 会话可靠性连接策略设置可允许或阻止会话可靠性。
  • 会话可靠性超时策略设置的默认值为 180 秒(3 分钟)。尽管您可以延长通过会话可靠性使会话保持打开状态的时间长度,但是此功能的主要目的是为用户提供方便。因此,它不会提示用户重新进行身份验证。如果延长会话保持打开状态的时间长度,用户可能会因感到不耐烦而离开用户设备的几率会增加。这些操作可能会使未经授权的用户能够访问会话。
  • 传入会话可靠性连接使用端口 2598,除非更改会话可靠性端口号策略设置中的端口号。
  • 要防止用户重新连接到中断的会话而不必重新进行身份验证,请使用“客户端自动重新连接”功能。您可以配置“客户端自动重新连接”身份验证策略设置,以便在用户重新连接到中断的会话时提示用户重新进行身份验证。

如果您同时使用了会话可靠性和客户端自动重新连接,这两项功能将按顺序发挥作用。经过在会话可靠性超时策略设置中指定的时间长度之后,会话可靠性将关闭或断开用户会话。之后,客户端自动重新连接策略设置将生效,尝试将用户重新连接到断开连接的会话。

客户端自动重新连接

通过客户端自动重新连接功能,Citrix Workspace 应用程序可以检测到 ICA 会话的意外断开连接,并自动将用户重新连接到受影响的会话。在服务器上启用此功能后,用户无需手动进行重新连接即可继续工作。

对于应用程序会话,Citrix Workspace 应用程序将一直尝试重新连接会话,直到重新连接成功或者用户取消重新连接尝试。

对于桌面会话,Citrix Workspace 应用程序将在指定时间段内尝试重新连接会话,除非重新连接成功或者用户取消了重新连接尝试。默认情况下,此时间段为五分钟。要更改此时间段,请在用户设备上编辑以下注册表设置(其中 seconds 为秒数,超过此时间后,不再尝试重新连接会话)。

HKLM\Software\Citrix\ICA Client\TransportReconnectRetryMaxTimeSeconds; DWORD;<seconds>

使用以下策略设置启用和配置客户端自动重新连接:

  • 客户端自动重新连接: 允许或禁止在连接中断后由 Citrix Workspace 应用程序自动重新连接。
  • 客户端自动重新连接身份验证: 允许或禁止自动重新连接后要求用户进行身份验证。
  • 客户端自动重新连接日志记录: 允许或禁止在事件日志中记录重新连接事件。默认情况下,禁用日志记录。启用后,服务器的系统日志会捕获与成功和失败的自动重新连接事件有关的信息。每台服务器都将重新连接事件的信息存储在自己的系统日志中。站点并不会提供所有服务器的重新连接事件组合日志。

注意:

只有密码身份验证才支持在不重新进行身份验证的情况下自动重新连接客户端。如果您使用联合身份验证服务或智能卡身份验证,则不支持在不重新进行身份验证的情况下自动重新连接客户端。在这种情况下,用户会被重定向到登录屏幕。

客户端自动重新连接包含基于加密用户凭据的身份验证机制。当用户最初登录时,服务器会加密用户凭据并将其存储在内存中。服务器还会创建包含加密密钥的 cookie 并将其发送到 Citrix Workspace 应用程序。Citrix Workspace 应用程序将该密钥提交给服务器以便重新连接。服务器会解密这些凭据,并将其提交到 Windows 登录以便进行身份验证。Cookie 过期后,用户必须重新进行身份验证才能重新连接到会话。

如果您启用了“客户端自动重新连接身份验证”设置,则不使用 cookie。而是在 Citrix Workspace 应用程序尝试自动重新连接时,用户会看到一个对话框,要求输入凭据。

要最大程度地保护用户凭据和会话,请对客户端与站点之间的所有通信使用加密。

可以使用 icaclient.adm 文件对适用于 Windows 的 Citrix Workspace 应用程序禁用客户端自动重新连接。有关详细信息,请参阅您的适用于 Windows 的 Citrix Workspace 应用程序版本的文档。

连接设置也会影响客户端自动重新连接:

  • 默认情况下,通过策略设置在站点级别启用“客户端自动重新连接”,如上文所述。无需对用户重新进行身份验证。但是,如果将服务器的 ICA TCP 连接配置为在出现中断的通信链路时重置会话,则不会发生自动重新连接。在连接中断或超时的情况下服务器会断开与会话的连接,仅在此时客户端自动重新连接才会发挥作用。在这种情况下,ICA TCP 连接指 TCP/IP 网络上用于会话的服务器虚拟端口(而非实际的网络连接)。
  • 默认情况下,服务器上的 ICA TCP 连接设置为在连接中断或超时的情况下断开会话。断开连接的会话在系统内存中保持不变,并可供 Citrix Workspace 应用程序进行重新连接。
  • 可将连接配置为对中断或超时的连接重置或注销会话。重置会话时,尝试重新连接将启动新会话。而非将用户还原到正在使用的应用程序中的同一位置,应用程序将重新启动。
  • 如果将服务器配置为重置会话,客户端自动重新连接会创建新会话。此过程要求用户输入其凭据才能登录到服务器。
  • 如果 Citrix Workspace 应用程序或插件提交错误的身份验证信息,自动重新连接会失败。在受到攻击期间或者服务器认定距检测到断开连接的时间过长,可能会发生这种情况。

ICA 保持活动状态

启用 ICA 保持活动状态功能可防止断开已损坏的连接。启用后,如果服务器未检测到任何活动,此功能将阻止远程桌面服务断开该会话的连接。不活动示例包括不更改时钟、不移动鼠标、不更新屏幕。服务器每隔几秒钟会发送一次保持活动状态数据包,以检测会话是否处于活动状态。如果会话不再处于活动状态,服务器会将该会话标记为已断开连接。

重要:

ICA 保持活动状态功能仅在不使用会话可靠性的情况下起作用。会话可靠性自身具有防止被破坏的连接被断开连接的机制。请仅为不使用会话可靠性的连接配置 ICA 保持活动状态。

ICA 保持活动状态设置将覆盖 Windows 组策略中配置的保持活动状态设置。

使用以下策略设置启用和配置 ICA 保持活动状态:

  • ICA 保持活动状态超时: 指定用于发送 ICA 保持活动状态消息的间隔(1 至 3600 秒)。如果您希望网络监视软件关闭环境(其中连接很少断开,是否允许用户重新连接到会话并不重要)中处于非活动状态的连接,请勿配置此选项。

    默认间隔是 60 秒:每 60 秒向用户设备发送一次 ICA 保持活动状态数据包。如果用户设备在 60 秒内没有响应,则 ICA 会话的状态将变为断开连接。

  • ICA 保持活动状态: 发送或阻止发送 ICA 保持活动状态消息。

工作区控制

工作区控制允许桌面和应用程序随用户从一个设备移动到另一个设备。此漫游功能使用户在登录后可从任何位置访问所有桌面或打开应用程序,而无需在每个设备中重新启动桌面或应用程序。例如,工作区控制可以帮助医院的医务人员,使他们可以在不同的工作站之间快速移动,并可在每次登录后访问同一组应用程序。如果您将工作区控制选项配置为允许上述功能,则这些工作人员可以与一个客户端设备中的多个应用程序断开连接,然后在其他客户端设备上重新连接以打开相同的应用程序。

工作区控制将影响下列活动:

  • 登录: 默认情况下,工作区控制让用户能够在登录时自动重新连接到所有正在运行的桌面和应用程序,而无需手动重新打开它们。通过工作区控制,用户可以打开已断开连接的桌面或应用程序,以及其他客户端设备上的任何活动桌面或应用程序。与桌面或应用程序断开连接后,该桌面或应用程序将继续在服务器上运行。如果您的漫游用户必须在一个客户端设备上使部分桌面或应用程序保持运行状态,同时在另一客户端设备上重新连接到部分桌面或应用程序,您可以将登录重新连接行为配置为仅打开用户先前断开连接的桌面或应用程序。
  • 重新连接:登录到服务器后,用户可以随时单击“重新连接”来重新连接到所有桌面或应用程序。默认情况下,单击“重新连接”将打开已断开连接的桌面或应用程序,以及当前正在另一个客户端设备上运行的任何桌面或应用程序。可以将“重新连接”配置为仅打开用户先前断开连接的桌面或应用程序。
  • 注销:对于通过 StoreFront 打开桌面或应用程序的用户,您可以将注销命令配置为将用户从 StoreFront 和所有活动会话中注销,也可以仅从 StoreFront 注销。
  • 断开连接: 用户可以一次与所有正在运行的桌面和应用程序断开连接,而无需与每个桌面和应用程序逐个断开连接。

工作区控制仅适用于通过 Citrix StoreFront 连接访问桌面和应用程序的 Citrix Workspace 应用程序用户。默认情况下,已为虚拟桌面会话禁用工作区控制,但已为托管的应用程序启用该功能。默认情况下,不会在已发布的桌面与这些桌面内部运行的任何已发布应用程序之间进行会话共享。

当用户移动到新客户端设备时,用户策略、客户端驱动器映射和打印机配置将随之进行适当更改。(用户)策略和(客户端驱动器)映射是根据用户登录到会话所使用的客户端设备来应用的。例如,医护人员从急诊室的设备注销,然后登录到 X 射线实验室的工作站。适用于 X 射线实验室中的会话的策略、打印机映射和客户端驱动器映射将在会话启动时生效。

您可以自定义用户位置发生变化后为其显示哪些打印机。您还可以控制用户是否可以打印到本地打印机、用户进行远程连接时消耗的带宽量,以及用户打印体验的其他方面。

有关为用户启用和配置工作区控制的信息,请参阅 StoreFront 文档。

会话漫游

注意:

以下信息将指导您使用 PowerShell 配置会话漫游。您可以改为使用 Web Studio。有关详细信息,请参阅管理交付组

默认情况下,用户的会话在客户端设备之间漫游。当用户启动会话,然后再移动到另一台设备时,将使用相同的会话,并且应用程序在两台设备上均可用。不管使用哪台设备或者会话是否存在,应用程序均继续。分配给应用程序的打印机和其他资源通常也会继续。

尽管此默认行为提供很多优势,但它可能不是所有情况的理想设置。您可以使用 PowerShell SDK 阻止会话漫游。

示例 1:医疗人员使用两台设备,一台桌面 PC 用于填写保险单,一台平板电脑用于查找患者信息。

  • 如果启用会话漫游,这两个应用程序可以同时显示在这两台设备上(在一台设备上启动的应用程序在所使用的全部设备上均可见)。这可能不满足安全要求。
  • 如果禁用会话漫游,则患者记录不会显示在桌面 PC 上,保险单也不会显示在平板电脑上。

示例 2:生产经理在其办公室的 PC 上启动一个应用程序。设备名称和位置确定该会话可以使用的打印机及其他资源。当天晚些时候,该经理进入隔壁大楼的一件办公室参加会议,此会议需要使用打印机。

  • 启用了会话漫游时,该生产经理可能无法访问该会议室附近的打印机,因为他之前在自己的办公室启动的应用程序已导致为其分配了该办公室附近的打印机和其他资源。
  • 禁用了会话漫游时,当他使用其他计算机时(使用相同的凭据),则会启动新会话,并且他可以使用附近的打印机和资源。

配置会话漫游

要配置会话漫游,请使用以下带有“SessionReconnection”属性的授权策略规则 cmdlet。或者,还可以指定 LeasingBehavior 属性。

对于桌面会话:

Set-BrokerEntitlementPolicyRule <Delivery-Group-name> -SessionReconnection <value> -LeasingBehavior Allowed|Disallowed

对于应用程序会话:

Set-BrokerAppEntitlementPolicyRule <Delivery-Group-name> -SessionReconnection <value> -LeasingBehavior Allowed|Disallowed

其中,value 可以是以下值之一:

  • Always: 会话始终漫游,不管所使用的客户端设备以及会话是已连接还是已断开连接。此为默认值。
  • DisconnectedOnly: 仅重新连接到已断开连接的会话;否则启动新会话。(可以通过首先断开会话连接在客户端设备之间漫游会话,也可以使用工作区控制显式漫游会话。)绝不使用另一台客户端设备上处于连接状态的活动会话。相反,将启动一个新会话。
  • SameEndpointOnly: 用户所使用的每个客户端设备具有唯一会话。此选项完全禁用漫游。用户只能重新连接到之前在会话中使用的同一设备。

“LeasingBehavior”属性在下文介绍。

其他设置的影响:

禁用会话漫游受交付组内应用程序属性中的应用程序限制 Allow only one instance of the application per user(仅允许每个用户运行一个应用程序实例)的影响。

  • 如果禁用会话漫游,则会禁用“Allow only one instance …”(仅允许每个用户运行…)应用程序限制。
  • 如果启用“Allow only one instance …”(仅允许每个用户运行…)应用程序限制,请勿配置允许在新设备上建立新会话的两个值。

登录时间间隔

如果包含桌面 VDA 的虚拟机在登录进程完成之前关闭,可以将更多时间分配给该进程。7.6 及更高版本的默认值为 180 秒(7.0-7.5 的默认值为 90 秒)。

在计算机(或计算机目录中使用的主映像)上,设置以下注册表项:

注册表项:HKLM\SOFTWARE\Citrix\PortICA

  • 值:AutoLogonTimeout
  • 类型:DWORD
  • 以秒为单位指定十进制时间,范围为 0-3600。

如果更改了主映像,请更新目录。

此设置仅适用于包含桌面 VDA 的 VM。Microsoft 控制包含服务器 VDA 的计算机上的登录超时。

会话