- 发行说明
- 入门指南
- UiPath Assistant
- 安装和升级
- 机器人类型
- 机器人组件
- 许可
- 将机器人连接到 Orchestrator
- 流程与活动
- 日志记录
- Robot JavaScript SDK
- 特定场景
- 故障排除
在本节中,您可以找到有关最常见的机器人错误及其解决方法的更多详细信息。
EXE 安装的项目依赖项
观察到的行为
机器人无法下载或运行在 v2019.2 或更低版本的 Studio 中创建的流程,这些流程在官方或 Go! 订阅源中拥有依赖项,但本地或 Orchestrator 中没有这些依赖项。
原因
在通过 UiPathStudioSetup.exe(通常为社区版设置)安装程序部署 Studio 时,系统会在用户模式中安装机器人。因此,只有在本地或机器人连接的 Orchestrator 实例上找到项目依赖项时,机器人才能下载和安装这些项目依赖项。
解决方案 A
必须从官方订阅源中手动下载所有项目依赖项,并将其上传至机器人连接的 Orchestrator 实例。
解决方案 B
从 Studio 中启用官方订阅源,并重启机器人服务 (UiPath.Service.UserHost)。打开机器人代理(托盘),并在其中启动流程。现在,您已经正确下载完相应依赖项。
机器人无法启动执行
观察到的行为
在此场景中,机器人无法启动执行流程,并抛出以下错误:
Executor start process failed, reason System.Runtime.InteropServices.COMException: A specified logon session does not exist. It may already have been terminated.
原因 A
机器人计算机的可用资源(如 CPU、RAM 或磁盘空间)不足,因此机器人执行程序无法启动流程。
解决方案 A
检查或执行以下操作:
- 机器人计算机拥有充足资源(如 CPU、RAM 或磁盘空间)。
- 使用命令行函数
mstsc时的连接时间。该时间需超过 60 秒,否则系统会显示错误。
原因 B
当前无法创建登录会话。以下情况中可能会出现此问题:
- 将 HD 机器人的“登录到控制台”选项设置为“是”。在此情况下,您需将机器人服务连接到当前的控制台会话。不建议对 HD 机器人执行此操作,因为该机器人每次只能有一个有效的控制台会话。
- 独立 Windows 版本(非 Windows Server)上拥有多个 RDP 会话。独立 Windows 版本每次只能处理一台计算机上的一个 RDP 会话,而 Windows Server 版本可处理多个 RDP 会话。
解决方案 B
在此情况下,您需要执行以下某项操作:
- 将“登录到控制台”设置为“False”。如此一来,机器人服务会启动机器人计算机与自身的 RDP 连接,并将会话附加至机器人。建议为 HD 机器人应用此方法。
- Check the Windows version, it needs to be Windows Server. Read more about Setting up Windows Server for HD Robots.
- Check if the Studio/Robot version you are using is greater than 2018.1.3, which fixed an issue caused by the KB4088876 (Windows 8.1 or Windows Server 2012 R2 Standard), KB4088875 (Windows Server 2008 R2 SP1, Windows 7 SP1), KB4088787 (Windows Server 2016, Windows 10 Version 1607), and KB4088776 (Windows 10 version 1709) Windows updates. Read more about Software Requirements.
- 增大机器人计算机上的
UiPath_Session_Timeout环境变量。由于某些计算机性能低下,默认值 60 秒仍然可能不够。请注意,您应以秒为单位设置环境变量,修改此变量后,需重新启动机器人服务。 - Check if your Remote Desktop License is active on the Robot machine. You can find out more on this page).
- 检查机器人是否在正确的组中。本地用户需要在同一远程桌面组中。
- 检查与机器人计算机的 RDP 连接的用户名是否与配置的用户名相同。为避免此错误,请关闭机器人计算机上的所有 RDP 连接。
未提供密码
观察到的行为
若您在 Orchestrator 中创建机器人时不填写密码字段,则机器人将无法启动流程执行。更改机器人计算机上的权限也会引起此问题。
当从 Orchestrator 或机器人代理(托盘)启动流程时,显示以下错误消息:
Executor start process failed, reason System.UnauthorizedAccessException: Access is denied.
原因 A
创建机器人时未提供密码。
解决方案 A
按此处所述编辑机器人,确保正确填写以下字段:
- “域/用户名”- 连接安装机器人的计算机时的用户名。如果用户位于某个域中,则您还需以
DOMAIN\UserName格式指定该用户。通过在命令提示符中使用Whoami命令,即可轻松找到此字段。 - “密码”- 计算机的 Windows 密码。若是有人值守机器人,则可忽略此要求。
原因 B
The SCM-managed Robot Service is not running. Find out more about Robot deployment types.
解决方案 B
确保机器人服务正在运行:
- 单击 Windows“开始”按钮,然后搜索并打开
Services.msc。系统会显示“服务”窗口。 - 找到“UiPath 机器人”服务并双击该服务。系统会显示“UiPath 机器人属性”面板。
- 在“登录”选项卡中,选择“本地系统帐户”选项。
- 单击“应用”按钮并关闭窗口,以确认更改。这样便可确保机器人服务正在运行,并且拥有执行流程所需的所有权限。
原因 C
机器人计算机不再拥有管理员权限。
解决方案 C
通过在 Orchestrator 中创建机器人时使用的凭据集登录到机器人计算机。如果无法从机器人代理(托盘)启动流程,则需与网络管理员联系,允许该用户帐户拥有管理员权限。
没有与机器人服务的连接
观察到的行为
在某些情况下,您无法启动流程执行。无论机器人服务是否运行,您都可能会遇到此问题。
当从 Orchestrator 或机器人代理(托盘)启动流程时,显示以下错误消息:
Get settings from service failed, reason System.Exception: Could not connect to UiPath Robot Service.
原因 A
机器人服务未运行。
解决方案 A
在此情况下,您需手动启动机器人服务,如下所示:
- 单击 Windows“开始”按钮,然后搜索
Services.msc并打开该服务。系统会显示“服务”窗口。 - 找到“UiPath 机器人”服务,然后右键单击该服务。系统会显示上下文菜单。
- 单击“启动”以激活机器人服务。这样,机器人服务便会在 Windows 登录时启动。
为避免在每次机器人计算机启动时重复这些步骤,您需要按如下所述增加 Windows 中的服务超时值。
原因 B
机器人服务的启动时间过长。
解决方案 B
Windows 会报告未在指定时间内加载的服务。默认情况下,此超时值为 30 秒,而机器人服务可能需要更长时间。为增加此值,您需执行以下操作:
-
打开 Windows 注册表编辑器。
-
导航至
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control注册表项,然后选择
Control子项。 -
如果
ServicesPipeTimeout值不可用,则按以下方式创建它:3.1. 右键单击
Control子项,然后从“新建”菜单中选择“DWORD(32 位)值”。创建一个新的空白 DWORD 值。3.2. 输入 ServicesPipeTimeout 作为新值的名称。
-
双击 DWORD 值
ServicesPipeTimeout。系统将显示“编辑 DWORD(32 位)值”窗口。 -
在“基数”部分中,选择“十进制”选项。
-
在“数值数据:”字段中,键入 180000。这样便可将默认
ServicesPipeTimeout更改为 3 分钟。现在,系统应有足够的时间来正确加载所有 Windows 服务。 -
关闭 Windows 注册表编辑器并重启计算机,以使更改生效。
原因 C
机器人计算机的权限不正确。在此情况下,机器人服务也可能显示为“正在运行”。
解决方案 C
通过 Windows 注册表编辑器向服务授予权限,如下所示:
-
打开 Windows 注册表编辑器。
-
导航至
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet注册表项。 -
右键单击子项
Control子项,然后单击“权限”。系统会显示“Control 的权限”窗口。 -
从“组或用户名”部分中选择登录的用户。
-
在“权限”部分中,启用“完全控制”的“允许”选项。这样便可向机器人授予必要权限。
-
单击“应用”和“确定”以确认更改并关闭窗口。
-
重启计算机,以使更改生效。
如果您无法进行上述更改,请联系您的网络管理员。
机器人无法下载包
观察到的行为
如果 %UserProfile%\.nuget\Packages 文件夹包含拥有相应项目 .nupkg 文件的包版本,以及没有该文件的包版本,则机器人将无法下载新版包。
原因
此问题会出现在以下特定场景中:
-
安装 v2019.4 或更高版本的 Studio/机器人。从 Orchestrator 下载并运行程序包。将该程序包安装在
%UserProfile%\.nuget\Packages文件夹中,并在其中加入相应的.nupkg文件。 -
卸载当前版本的 Studio/机器人。
-
安装版本低于 2019.4 的 Studio/机器人。从 Orchestrator 下载并运行先前的程序包。未删除旧版程序包,并且新版程序包没有相应的
.nupkg文件。 -
将 Studio/机器人升级到 v2019.4 或更高版本。重新下载包失败,出现以下错误:
由于缺少项目对应的 .nupkg 文件,机器人无法下载包。
解决方案
从 %UserProfile%\.nuget\Packages 文件夹中删除先前安装的包,然后重新下载该包。
会话未断开连接
执行由“启动工作流交互”活动启动的工作流后,会话不会断开。 如果机器人在 VDI 环境中运行,且已启用“登录到控制台”和“保持会话连接”选项,则会发生会话断开连接。请注意,从 v2018.2 开始,“启动工作流交互”活动已弃用。
“System.Collections.IEnumerable”无法序列化
观察到的行为
在“等待任务然后继续”中使用数据表时,返回以下错误:“异常:类型‘System.Collections.IEnumerable’无法序列化。”
原因
DataRow 不可序列化,因此在暂留工作流时无法序列化 DataRows。如果我们创建一个 DataRow 变量并在此之后尝试等待(暂留),也会出现这种情况。
解决方案
在遍历 DataRows(System.Data.DataRow) 的同时执行“创建表单任务”活动并构建任务对象(输出)的列表。
此后,我们可以使用“并行的遍历循环”或“遍历循环”遍历任务对象(输出)的列表,然后执行“等待任务然后继续”。