robot
latest
false
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

机器人管理员指南

上次更新日期 2025年5月12日

执行故障排除

邮件太大,无法处理

描述

由于以下错误,处理大量数据的自动化可能会失败:“消息:无法检索作业执行的结果。这可能是因为消息太大而无法处理。异常类型:System.Exception”。

潜在问题

自动化生成的数据超过了 uipath.config 文件中 maxMessageSizeInMegabytes 参数的值。

解决方案

配置自动化,以便将输出保存在 Orchestrator 的存储桶中Data Service 中,而不是使用输出参数。

使用 UIAutomation 活动的 Unattended 自动化不起作用

描述

使用 UIAutomation 活动的 Unattended 自动化不起作用。

潜在问题

当将某个设置为自动启动的程序(例如“服务器管理器”)显示为 Windows 用户帐户控制 (UAC) 提示时,它会阻止机器人与用户界面进行交互。

解决方案

识别触发用户帐户控制 (UAC) 提示的程序并进行配置,使其不会自动启动。

机器人无法启动执行

描述

机器人无法启动自动化的执行,并显示以下错误:“执行程序启动流程失败,原因是‘System.Runtime.InteropServices.COMException:指定的登录会话不存在’。流程可能已经终止。”

下表总结了几个问题及其解决方案。

潜在问题

解决方案

机器人计算机没有足够的资源(如 CPU、RAM 或磁盘空间),因此机器人执行程序无法启动自动化。

  • 确保机器人计算机拥有足够的资源(如 CPU、RAM 或磁盘空间)。

  • 使用 mstsc 命令行函数检查连接时间。该时间需超过 60 秒,否则系统会显示错误。

当前无法创建登录会话。以下情况中可能会出现此问题:

  • 对于高密度 (HD) 机器人,“登录到控制台”属性设置为“True”。在这种情况下,机器人服务会将自身附加到当前控制台会话。不建议对 HD 机器人执行此操作,因为一次只能有一个活动的控制台会话。

  • Windows 桌面版(非 Windows Server)上拥有多个 RDP 会话。Windows 桌面版本每次只能处理一台计算机上的一个 RDP 会话,而 Windows Server 版本可处理多个 RDP 会话。

在此情况下,您需要执行以下某项操作:

  • 将“登录到控制台”设置为“False”。如此一来,机器人服务会启动机器人计算机与自身的 RDP 连接,并附加至该连接。建议为 HD 机器人应用此方法。

  • 检查 Windows 版本,必须为 Windows Server。

  • 检查 Studio 和 Robot 版本是否高于 2018.1.3。

  • 增加服务器上 UIPATH_SESSION_TIMEOUT 系统环境变量的值。由于某些计算机性能低下,默认值 60 秒仍然可能不够。修改此变量后请重新启动 UiPath 机器人服务。
  • 检查远程桌面许可证在服务器上是否处于活跃状态。

  • 检查机器人是否在正确的组中。本地用户需要在同一远程桌面组中。

  • 检查与机器人计算机的 RDP 连接的用户名是否与配置的用户名相同。为避免此错误,请在机器人计算机上注销所有 RDP 连接。

未提供密码

描述

从 Orchestrator 或 Assistant 启动自动化将显示以下错误消息:“执行程序启动流程失败,原因是‘System.UnauthorizedAccessException:访问被拒绝’。”

下表总结了潜在问题及其解决方案:

潜在问题

解决方案

创建机器人帐户时未提供密码。

在 Orchestrator 中编辑机器人帐户并提供以下值:
  • 域\用户名* - 连接安装机器人的计算机时的用户名。如果用户在某个域下,则还需要以 DOMAIN\UserName 格式指定该用户。
  • 密码 - Windows 登录密码。

机器人服务处于非活动状态。

  1. 打开“服务”窗口。

  2. 选择 UiPathRobotSvc 服务。
  3. 打开所选服务的“属性”面板。

  4. 在“登录”选项卡上,选择“本地系统帐户”。

  5. 选择“应用”和“确定”以确认更改,然后关闭窗口。这样便可确保 UiPath 机器人服务正在运行,并且拥有执行自动化所需的所有权限。

机器人计算机不再拥有管理员权限。

通过在 Orchestrator 中创建机器人时使用的凭据集登录到机器人计算机。如果无法从 Assistant 启动流程,则需与网络管理员联系,允许该用户帐户拥有管理员权限。

System.Collections.IEnumerable 无法序列化

描述

在“等待任务然后继续”活动中使用数据表时,返回以下错误:“异常:类型‘System.Collections.IEnumerable’无法序列化。”

潜在问题

数据表的数据行对象无法序列化,因此无法对保留这些对象,这会导致潜在的问题或错误。

解决方案

执行“创建表单任务”活动,并通过遍历数据行来构建输出,以创建任务对象列表。然后,使用“并行遍历循环”或“遍历循环”活动遍历任务对象的输出列表。在这些循环中,为每个任务对象执行“等待任务然后继续”活动。

作业停止,并包含意外退出代码

描述

作业执行失败,并且 Orchestrator 中将记录以下错误消息:“作业因意外退出代码而停止:0x40010004”。

潜在问题

通常,在以下情况下会发生此错误:

  • 机器人使用的用户帐户在流程执行期间被强制注销。

  • 在流程执行期间,手动关闭或重新启动运行机器人的计算机。

解决方案

为避免此错误,请确保针对预期的自动化类型正确安装了机器人:Attended 或 Unattended。在用户模式下安装的机器人无法执行 Unattended 自动化。

此外,请配置 Robot 会话以适应您的环境和业务需求。

自动化可以在 Attended 模式下运行,但无法在 Unattended 模式下运行

描述

在人工用户登录并监控的情况下,自动化可以在 Attended 模式下按预期运行,但在 Unattended 模式下无法运行。Unattended 模式下的其他潜在问题包括:

  • 机器人单击的位置不正确。
  • 意外弹出随机窗口。
  • 任务栏中的项目无需用户输入即可激活。
  • 目标应用程序进入意外状态。

潜在问题

对于 Unattended 自动化,UiPath 机器人服务会通过 RDP 连接将 Windows 会话初始化,并依赖系统的显示分辨率和缩放设置或机器人设置。因此,远程会话与本地会话之间的分辨率和缩放设置不同。

解决方案

重要提示:

测试之前,请确保机器人用户已退出机器人计算机。这样,机器人就可以在洁净环境中运行。

分辨率差异通常是 Attended 模式与 Unattended 模式之间的主要区别。请参阅“修复分辨率问题”和“分辨率最佳实践”。

可能的解决方案

程序

解决方案 1:检查缩放设置

缩放设置可能会影响机器人与用户界面的交互方式。

如果无法通过修复分辨率解决问题,请查看 Windows 会话缩放设置:

  1. 像运行 Attended 自动化一样登录计算机。
  2. 打开 PowerShell(使用“运行”对话框,然后键入 "powershell")。
  3. 执行此命令:
    (Get-ItemProperty 'HKCU:\Control Panel\Desktop\WindowMetrics' -Name AppliedDPI).AppliedDPI(Get-ItemProperty 'HKCU:\Control Panel\Desktop\WindowMetrics' -Name AppliedDPI).AppliedDPI
  4. 返回值应为 96。如果不是,机器人开发时可能使用了非标准缩放设置。请参阅“强制缩放”。

解决方案 2:捕获实时问题

如果解决方案 1 不起作用,请使用实时流式传输和远程控制功能,在发生问题时将其捕获。这些工具用于观察机器人的行为,而无需直接登录计算机,有助于识别在直接登录计算机时可能不明显的问题。

解决方案 3:UiPath 支持

如果无法通过以上步骤确定问题,请向 UiPath 提交支持工单。

分辨率最佳实践

  • 查看《用户界面自动化指南》。
  • 将分辨率作为关键设计要求
  • 确保您的开发和生产环境的分辨率和缩放设置完全相同。
  • 请注意,如果未指定分辨率,将使用系统默认设置。这可能会导致应用程序不支持的低分辨率。用户界面元素可能会偏离屏幕或视觉失真。
  • 请勿忽视依赖于分辨率的活动:
    • 基于图像的活动,例如“查找图像”或 OCR 活动
    • 启用了剪裁区域的用户界面自动化活动。
    • 启用了 "WaitVisible" 选项的用户界面自动化活动。
    • 单击不使用“窗口消息”或“模拟”输入方法的活动。对于 "CursorPosition" 属性,请参阅“机器人单击了错误位置”。

机器人单击了错误位置

机器人单击不正确的位置通常表明“单击”活动上的 "CursorPosition" 选项已启用。

使用 Studio 中的“记录”功能时,有时会无意中配置 "CursorPosition" 属性。识别单击位置错误的活动,确定该选项是否被有意启用。大多数情况下不需要启用此属性。

修复分辨率问题

  1. 像运行 Attended 自动化一样登录计算机。
  2. 打开 PowerShell(使用“运行”对话框,然后键入 "powershell")。
  3. 执行此命令:
    [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize
  4. 写下返回的“宽度”和“高度”值,因为您会在步骤 7b 中用到。
  5. 检查字体平滑:
    • 在“开始”菜单中打开“查看高级系统设置”。
    • 在“高级”选项卡上,选择“性能”下的“设置”。
    • 检查是否已启用“屏幕字体平滑边缘”。
  6. 如果需要位深度或字体平滑,请检查连接到机器人计算机的本地计算机上的显示设置:
    • 导航到“显示设置”。
    • 转到“高级显示设置”,以获取位深度信息。
  7. 访问执行自动化的机器人帐户的“机器人设置”部分("Orchestrator" >“租户”>“管理访问权限”>“访问权限规则”>“机器人帐户”)。
    1. 将“登录控制台”选项设置为“”。这将指示机器人使用 RDP 会话进行 Unattended 自动化。
    2. 设置“分辨率宽度”和“分辨率高度”的值。使用与第 3 步中返回的值相同的值。
    3. 将“分辨率深度”设置为 32。
    4. 对于基于图像的自动化,还需要将“字体平滑”设置为“”。
  8. 选择“更新”

强制缩放

最好在开发环境中重新设计自动化,并将缩放设置为 100%。以下步骤属于临时解决方法。确保机器人在 RDP 会话中运行(“登录控制台”选项设置为“”。

  1. 打开注册表编辑器,然后导航到 HKEY_CURRENT_USER\Control Panel\Desktop\LogPixels
  2. 搜索注册表值 LogPixels。如果值不存在,请将其创建为 32-DWORD 值。请参阅以下列表,了解可能的十进制值。

    DPI(分辨率)

    缩放系数,%(LogPixels 值)

    96

    100(无缩放)

    120

    125(显示屏幕上的所有内容放大了 25%)。

    144

    150(显示屏幕上的所有内容都放大了 50%)。

    192

    200(显示屏幕上的所有内容是原来的两倍大)

  3. 接下来,导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\
  4. 搜索注册表值 IgnoreClientDesktopScaleFactor。此注册表键会告知远程连接是否忽略机器人计算机上的缩放。如果值不存在,请将其创建为 32-DWORD 值。请参阅以下列表,了解可能的十进制值。
    1. 1 - 忽略机器人计算机上的缩放
    2. 0 - 考虑机器人计算机上的缩放

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
© 2005-2025 UiPath。保留所有权利。