- 关于本指南
- 入门指南
- 正在安装
- 升级
- Connecting and licensing
- 配置
- Running workloads
- RPA processes and tests
- Agents, functions, and API workflows
- Limits
- Securing and governing
- 监控
- 故障排除
- 参考
机器人执行程序
配置和管理 UiPath 执行程序,这是在隔离会话中运行自动化工作流的机器人组件。
UiPath Executor is a component of the UiPath software structure that is used to run automations or jobs. It is the component that actually executes the automation workflows, and you can identify it in the list of running processes as UiPath.Executor.exe.
工作方式
在自动化生命周期中,执行程序代表执行阶段:
- 设计阶段——在 Studio 中设计和创建自动化工作流后,系统就会将其发布到 Orchestrator。
- Orchestrator 阶段—Orchestrator 是管理、控制和记录机器人所执行操作的组件。 在这里,您可以安排作业时间或按需运行作业。
- 执行阶段——安排或触发任务后,Orchestrator 会向 UiPath 机器人服务发送命令。然后,机器人服务会启动 UiPath Executor 实例以运行自动化任务。 每个实例均在隔离会话中运行,这样可确保:即便一项任务失败,其他任务也不会受到影响。
- 执行后阶段——任务完成时,执行程序实例终止,结果发回 Orchestrator。执行时间、状态(成功或失败)以及任何异常等详细信息均记录下来,并可用于分析以便排除故障或改进流程。
功能
执行程序的部分功能包括:
- 执行本地或远程任务——UiPath 执行程序既可以在安装了 UiPath 机器人服务的本地设备中执行任务,也可以远程连接到其他设备并在这些设备上执行任务。
- 并发运行作业——执行程序能够同时执行多项自动化任务,每项自动化任务都作为独立的会话运行。
- 负载均衡和任务优先级——执行程序可以与 UiPath Orchestrator 共同有助于平衡多台机器人之间的自动化负载,并根据预定义的规则确定任务的优先级。
- 维护工作流独立——执行程序中的每次执行都是独立的。这意味着一项作业中的错误或失败不会影响其余作业。
备注:
执行程序可自适应不同的 DPI 设置,使工作流能够在任何分辨率下运行。如果某些应用程序无法处理 DPI,那么您可以禁用此特定功能。
基于自动化项目的执行程序类型
UniPath 机器人服务会根据自动化项目推出旨在执行自动化的相关执行程序类型。下列表格总结执行程序可以运行的项目类型,具体取决于所使用的目标框架。
| 项目/执行程序类型 | 架构 | 支持的操作系统 | 使用的框架 |
|---|---|---|---|
| Windows - 旧版 | 32 位 | Windows(x64 和 x86) | .NET Framework 4.7.2 |
| Windows | 64 位 | Windows x64 | .NET 10 with Windows support (.NET Core - Windows) |
| 跨平台 | 64 位 | Windows, Linux (64-bit) | .NET 10 with cross-platform support (.NET Core) |
表格中的各行代表不同的执行程序类型,显示如何为了运行项目而根据项目类型、目标操作系统和所用 .NET Framework 版本的特定要求来配置执行程序。这些信息有助于了解哪款执行程序适合哪个项目,确保与目标环境的兼容性,并利用相关框架功能。
The Executor and executor packages
The Executor is the .NET executor of Unified Runtime, and runs RPA processes and test cases. By default, agents, functions, and API workflows don't run in UiPath.Executor.exe. They run in executor packages, in a separate host process that the Robot Service starts. The settings on this page, such as preloaded executors, Medium+ integrity, and UIPATH_HEADLESS_WITH_USER, apply to the Executor only.
执行程序的用户配置
The Executor has a dedicated system variable UIPATH_HEADLESS_WITH_USER, which you can configure depending on the type of user that runs the automation.
When the user is Local Service, you can run background automations. Here, the setting for UIPATH_HEADLESS_WITH_USER should either be Falseor not set at all.
When the user running the automation has credentials specified in Orchestrator, there are two scenarios you should consider:
- For background automations, the
UIPATH_HEADLESS_WITH_USERsetting should beTrue. - For foreground automations, there should be no
UIPATH_HEADLESS_WITH_USERvariable set.
下表总结执行程序的用户条件。
| 用户类型 | 自动化类型 | UIPATH_HEADLESS_WITH_USER 设置 |
|---|---|---|
| Local Service | 后台 | False 或为空 |
| 在 Orchestrator 中配置的用户 | 后台 |
|
| 前台 | 不需要变量 |
预加载的执行程序
Usually, each process requires time to load the required workflow, packages, and libraries into memory before it can start processing. In a preloaded setup, those dependencies are already loaded into memory, in dedicated execution slots. A preloaded executor is enabled by default in User Mode. Preloaded executors exist only in User Mode: in Service Mode, the Robot doesn't start them, and the variables below have no effect.
以下是有关已预加载执行程序的一些关键详细信息:
- 更快速的执行:通过预加载流程,您的机器人可以更快地开始执行任务。
- 资源利用率:借助预加载的执行程序,由于已经在内存中加载了所需的流程,因此机器人消耗的资源更少。
- 可用性:预加载的执行程序主要用于从 Assistant、RobotJS、Studio 或命令行接口开始的 Attended 自动化。Orchestrator 中的 Unattended 作业会启动一个未预加载的执行程序。
用于预加载设置的系统变量
You can manage the behavior of preloaded executors by setting specific environment variables on the robot machine, as follows. They apply to User Mode robots only:
| 环境变量 | 值 | 描述 |
|---|---|---|
UIPATH_PRE_LOADED_EXECUTOR | 无 | 覆盖默认行为,仅在第一项作业开始时启动预加载的执行程序。 |
UIPATH_DISABLE_PRE_LOADED_EXECUTOR | True | 禁用预加载的执行程序。 |
工作方式
将UIPATH_PRE_LOADED_EXECUTOR变量添加到系统时,就是配置预加载的设置。 此操作会启动两套执行程序:一套是在作业开始时启动;另一套等待未来作业,即其为预加载的执行程序。 当另一项作业开始时,它会使用预加载的执行程序,并生成另一个预加载的执行程序以等待下一项作业。 简而言之,预加载设置始终确保有可用的执行程序等待作业。
预加载的执行程序和操作系统
For Windows devices, when UiPath.Service.UserHost.exe starts in User Mode, it launches two preloaded executors: one for Windows projects, and another for Windows-Legacy projects.
Medium+ 完整性提升
某些 Windows 应用程序的运行完整性级别高于标准用户会话。一个常见示例是 Windows CredentialBroker 对话框,当您输入用户名和密码以连接到 Remote Desktop (RDP) 会话时,将显示该对话框。由于 CredentialBroker 以 Medium+ 完整性级别运行,因此在默认情况下,Executor 无法与其交互,而且您的自动化也无法在对话框中输入凭据。
为了使 Executor 能够自动处理此类窗口,请将 UIPATH_MEDIUMPLUS_EXECUTOR 计算机(系统)环境变量设置为 1。设置此变量后,UiPath 机器人服务会以 Medium+ 完整性级别启动 Executor,使其能够与原本无法访问的窗口交互。
或者,要仅提升特定调用而非整个执行程序,请将 UIPATH_MEDIUMPLUS_INVOKE 计算机(系统)环境变量设置为 1。启用此变量后,调用工作流文件和调用流程活动可以在每次调用时,以 Medium+ 完整性级别运行,其余自动化流程则保持以标准完整性级别运行。
提升仅适用于提出请求的调用,活动的提升选项必须同时处于启用状态;仅靠变量不会提升任何内容。
提升选项需要 UiPath.System.Activities 26.6.0 或更高版本,对于调用工作流文件,该选项仅在独立调用工作流时才适用。与在 UIPATH_MEDIUMPLUS_EXECUTOR 中一样,此功能仅在 Windows 上运行,且需要启用 UAC。
要求
- Windows only — this feature is not available on Linux.
- 必须启用 UAC — 能否提升取决于计算机上的用户帐户控制是否处于活动状态。如果禁用 UAC,将忽略该变量,Executor 将以默认完整性级别启动。
- 安装模式 — Robot 必须以服务模式或用户模式,在按计算机模式下安装(安装在
Program Files中)。按用户安装模式不支持 Medium+ 提升。 - 计算机级变量 — 对于有人值守和无人值守的自动化,都必须将变量设置为计算机(系统)环境变量。用户级变量无效;仅当该变量在计算机级别设置时,才会启用提升功能。
如何启用
- 在机器人计算机上打开“系统属性”>“环境变量”。
- 在 System variables(系统变量)部分,选择 New(新建)。必须在计算机(系统)级别设置变量;用户级别变量无效。
- 将变量名称设置为
UIPATH_MEDIUMPLUS_EXECUTOR,将值设置为1。 - 选择“确定”,保存变量。
- 重新启动 UiPath 机器人服务,以使更改生效。
结果
启用 Medium+ 提升后,您的自动化可以与 CredentialBroker 对话框以及其他需要 Medium+ 完整性的窗口进行交互。如果设置为 UIPATH_MEDIUMPLUS_EXECUTOR,则 Executor 在整个自动化过程中以提升权限运行;如果设置为 UIPATH_MEDIUMPLUS_INVOKE,则仅请求提升权限的调用以提升权限运行。如果 Executor 无法在提升级别启动(例如,由于 UAC 被禁用),则会返回到默认完整性级别,并记录警告。