机器人
2020.10
False
横幅背景图像
机器人用户指南
上次更新日期 2023年9月20日

Windows 会话

UiPath 机器人在交互式 Windows 会话中执行流程。机器人可以启动两种 Windows 会话:

机器人启动的会话类型由“登录到控制台”选项确定。默认情况下,此选项已启用。

所有类型(无论是许可证还是部署)的机器人都可以连接到这两类会话。请注意,高密度机器人仅可连接到 FreeRDP 会话。

注意:Orchestrator 中配置的机器人设置会覆盖 UiPath.settings 文件中配置的设置。

无论会话类型为何,系统始终在机器人计算机上创建 Windows 会话。换句话说,是从机器人计算机到同一机器创建会话,而不是从 Orchestrator 到机器人计算机创建会话。

从 Orchestrator 启动流程时,系统将创建 Windows 会话,如下所示:

  1. Orchestrator 会将包含流程详细信息的消息发送到机器人服务。
  2. 机器人服务在计算机上创建交互式 Windows 会话。
  3. 机器人服务在该会话中启动机器人执行程序。
  4. 机器人执行程序开始执行流程。

控制台和 FreeRDP 会话的创建流程相同。

如果未连接到 Orchestrator,则只能在 UiPath.settings 文件中配置“登录到控制台”选项。

控制台会话

默认情况下,机器人连接到控制台会话。一台计算机一次只能有一个控制台会话处于活动状态。如果之前没有进行其他设置,则可以使用以下方法之一启用“登录到控制台”选项,从而使机器人连接到控制台会话:

  • UiPath.settings 文件中,将 LoginToConsole 参数设置为 true
  • 在 Orchestrator 中创建或更新机器人时,请将“设置”选项卡中的登录到控制台值设置为 Yes。这意味着系统将使用 UiPath.settings 文件中的配置。若要从 Orchestrator 设置所需的值,必须先启用登录到控制台选项。


    注意:对于不需要自定义分辨率的流程,建议使用此连接类型。

一台计算机一次只能有一个控制台会话处于活动状态。这意味着一次只能有一个机器人可以在该计算机上执行流程。执行完成后,会话将断开连接,另一个机器人可以启动会话并在该计算机上执行流程。

如果从 Orchestrator 启动作业时存在活动的 RDP 会话,则该活动的 RDP 会话将终止。

控制台会话使用计算机上图形卡的默认设置指定的分辨率。使用 VDI(例如 Citrix、Hyper-V、VMware)时,分辨率通常由管理 VDI 的管理程序指定。请注意,您无法设置自定义分辨率。

FreeRDP 会话

在 FreeRDP 会话中,机器人会在其运行的计算机上创建虚拟的远程桌面会话。您可以通过以下方法之一禁用“登录到控制台”选项,以使机器人连接到 FreeRDP 会话:

  • UiPath.settings 文件中,将 LoginToConsole 参数设置为 false
  • 在 Orchestrator 中创建或更新机器人时,请将“设置”选项卡中的登录到控制台值设置为 No。默认情况下,“登录到控制台”选项处于禁用状态。这意味着系统将使用 UiPath.settings 文件中的配置。若要从 Orchestrator 设置所需的值,必须先启用登录到控制台选项。


    备注: 高密度机器人需要通过 FreeRDP 会话建立连接。

在 Windows 工作站上,只能有一个活跃的 FreeRDP 会话。这意味着一次只能有一个机器人可以在该计算机上执行流程。执行完成后,会话将断开连接,另一个机器人可以启动会话并在该计算机上执行流程。

但是,在 Windows 服务器上,使用计算机的每个用户都可以产生活动的 FreeRDP 会话,同一用户甚至还可以产生多个会话。这意味着多个机器人可以同时在该计算机上执行流程,并且每个流程都用于其指定用户。在这种情况下,机器人还可以在多个会话上为用户执行流程,但其一定不能依赖硬件事件(例如用户界面自动化活动)。

如果从 Orchestrator 启动作业,并且 FreeRDP 会话已经处于活动状态,则在该会话中执行该过程。

如果自动化过程需要自定义分辨率,则建议使用此连接类型。您可以通过修改以下其中一个位置的 ResolutionWidthResolutionHeightResolutionDepth 参数来设置自定义分辨率:

在 RDP 上执行流程

执行命令与实际流程执行之间的主要通信方式是机器人服务。如果无需执行任何流程,机器人服务将在 Windows 计算机上会处于空闲待机状态,并且不需要执行活动的 Windows 会话。这样做是为了确保与 Orchestrator 保持持续开放通信,并能够在收到命令时立即启动流程。通信需要通过 HTTPS 完成,更具体地说是通过 WebSocket (SignalR) 完成。

请注意,仅当“登录到控制台”属性的值为 false 时,Windows 会话才会通过 RDP 生成。


系统将“启动流程”命令发送至机器人服务后,它将通过 RDP 在该计算机上为机器人用户创建 Windows 会话。之后,机器人服务会在新创建的会话中产生机器人执行程序。然后,执行程序和服务通过已命名的管道进行通信,而且执行程序了解确切的执行内容。接着,系统在 Windows 会话中执行该流程。

注意:机器人仅使用 RDP 启动 Windows 会话。它不用于连接 Orchestrator 与执行流程的计算机,也不用于与计算机外部的其他组件进行通信。

架构概述

从 Orchestrator 启动作业后,机器人会根据会话连接配置连接到 WinSta0 Windows 会话。一个 WinSta0 会话(交互式会话)一次只能有一个活动桌面。

流程与其在其中启动的交互式桌面相关联,并且在执行期间无法访问其他桌面。活动桌面可确保以下各项:

  • 流程可以通过硬件事件接收用户输入
  • 流程可以通过软件事件接收用户输入
  • 计算机显示屏呈现并持续更新

断开连接的用户会话不能有活动桌面。如果桌面在交互式会话中未处于活动状态,则会发生以下情况:

  • 流程无法通过硬件事件接收用户输入
  • 流程可以通过软件事件接收用户输入
  • 计算机显示屏未呈现
  • 控制台会话
  • FreeRDP 会话
  • 在 RDP 上执行流程
  • 架构概述

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.