Product Documentation

会话

May 22, 2017

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

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

登录时间间隔部分介绍了如何更改默认设置。

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

会话可靠性

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

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

Citrix Receiver 用户无法覆盖 Controller 设置。

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

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

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

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

客户端自动重新连接

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

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

对于桌面会话,Citrix Receiver 将在指定时间段内尝试重新连接会话,除非重新连接成功或者用户取消了重新连接尝试。默认情况下,此时间段为五分钟。要更改此时间段,请在用户设备上编辑以下注册表项:

HKLM\Software\Citrix\ICA Client\TransportReconnectRetryMaxTimeSeconds; DWORD;

其中,<seconds> 是以秒为单位的数字,经过这些秒数后,将不再尝试重新连接会话。

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

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

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

如果启用“客户端自动重新连接身份验证”设置,则不使用 Cookie。在 Citrix Receiver 试图自动重新连接时,用户会看到一个对话框,要求输入凭据。

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

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

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

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

ICA 保持活动状态

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

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

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

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

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

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

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

工作区控制

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

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

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

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

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

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

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

会话漫游

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

尽管此默认行为提供很多优势,但它可能不是所有情况的理想设置。您可以使用 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 ...”(仅允许每个用户具有...)应用程序限制,请勿配置允许在新设备上建立新会话的两个值。

连接租用和会话漫游

如果您不熟悉连接租用,请参阅连接租用一文。

Controller 进入租用连接模式时,会话重新连接恢复到其默认值,仅将用户重新连接到桌面或应用程序的其中一个活动会话或已断开连接的会话。

对于其他安全性,如果已配置非默认会话漫游值,并具有在多个设备上共享相同登录凭据的多个用户,请注意为包含该用户帐户的交付组禁用连接租用功能。 

为什么呢?在此场景下,一个会话在多个设备之间共享。这在某些时候并不可取,例如,当 Controller 处于租用连接模式时,某个人显示了机密信息,但此信息不能被使用相同凭据进行重新连接的其他人看到。

在授权策略中禁用连接租用可以消除这种可能性:即使 Controller 处于租用连接模式,用户也将无法看到使用相同登录的另一个用户的会话。其他授权策略可以保持原样;单个用户帐户可以在单独的授权中使用连接租用功能。

要在授权策略中禁用连接租用,请将“LeasingBehavior Disallowed”属性添加到授权策略 cmdlet 中。如果禁用连接租用,必须手动删除任何已为该授权策略创建并缓存的启动租用;否则,在数据库中断时用户将仍可以进行重新连接。

登录时间间隔

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

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

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

值:AutoLogonTimeout

类型:DWORD

以秒为单位指定十进制时间,范围为 0-3600。

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

注意:此设置仅适用于包含桌面(工作站)VDA 的 VM;Microsoft 控制包含服务器 VDA 的计算机上的登录超时。