UiPath Documentation
robot
2023.10
false
机器人管理员指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

执行故障排除

机器人执行失败的解决方案,包括“消息太大”错误以及由于输出数据过大而失败的作业。

邮件太大,无法处理​

描述​

由于以下错误,处理大量数据的自动化可能会失败:“消息:无法检索作业执行的结果。这可能是因为消息太大而无法处理。异常类型: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。 在这种情况下,UiPath 机器人服务会将自身附加到当前控制台会话。 不建议对 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 登录密码。

潜在问题:UiPath 机器人服务处于不活动状态​

解决方案​
  1. 打开“服务”窗口。
  2. 选择 UiPathRobotSvc 服务。
  3. 打开所选服务的“属性”面板。
  4. 在“登录”选项卡上,选择“本地系统帐户”。
  5. 选择“应用”和“确定”以确认更改,然后关闭窗口。 这可确保 UiPath™ 机器人服务正在运行,并具有执行自动化所需的所有权限。

潜在问题:机器人计算机不再具有 Administrator 权限。​

解决方案​

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

System.Collections.IEnumerable 无法序列化​

描述​

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

潜在问题​

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

解决方案​

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

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

描述​

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

潜在问题​

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

  • 机器人使用的用户帐户在流程执行期间被强制注销。
  • 在流程执行期间,手动关闭或重新启动运行机器人的计算机。

解决方案​

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

此外,请配置机器人会话以满足您的环境和业务需求。

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

描述​

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

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

潜在问题:UiPath 机器人服务通过 RDP 连接初始化 Windows 会话​

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

Solutions (解决方案)​

重要提示:

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

分辨率差异通常是 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 提交支持工单。

潜在问题:机器人单击了错误位置​

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

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

解决方案 1:修复分辨率问题​
  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. 选择“更新”。
解决方案 2:强制扩展​

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

  1. 打开注册表编辑器,然后导航到 HKEY_CURRENT_USER\Control Panel\Desktop\LogPixels。

  2. 搜索注册表值 LogPixels。如果值不存在,请将其创建为 32-DWORD 值。请参阅以下列表,了解可能的十进制值。

    DPI(分辨率)缩放系数,%(LogPixels 值)
    96100(无缩放)
    120125(显示屏幕上的所有内容放大了 25%)。
    144150(显示屏幕上的所有内容都放大了 50%)。
    192200(显示屏幕上的所有内容是原来的两倍大)
  3. 接下来,导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\。

  4. 搜索注册表值 IgnoreClientDesktopScaleFactor。此注册表键会告知远程连接是否忽略机器人计算机上的缩放。如果值不存在,请将其创建为 32-DWORD 值。请参阅以下列表,了解可能的十进制值。

    1. 1 - 忽略机器人计算机上的缩放
    2. 0 - 考虑机器人计算机上的缩放情况

分辨率最佳实践​

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

流程执行时间延长​

描述​

从 UiPathStudioSetup.exe (Community Edition) 安装 Studio 时,流程执行所需的时间几乎是 UiPathStudio.msi (Enterprise Edition) 的两倍。此问题会出现在 Studio 2021.10 及更高版本中。

潜在问题​

系统将 Studio 社区版安装在 %localappdata%\UiPath 中,但 Windows Defender 并不信任该位置。这意味着每次创建日志文件时,Windows Defender 会开始扫描该文件,进而延长流程执行时间。

而 Studio 企业版不会出现此情况,因为 Windows Defender 信任其安装文件夹 (%ProgramFiles%\UiPath),所以不会扫描流程执行过程中创建的日志文件。

Solutions (解决方案)​

在 Windows Defender 排除列表中添加 Studio 社区版安装文件夹 (%localappdata%\UiPath),避免其即时扫描流程执行过程中创建的日志文件。如要在 Windows Defender 排除列表中添加文件夹,您需执行以下操作:

  1. 选择Windows 开始按钮,然后搜索“病毒和威胁防护”并将其打开。
  2. 访问“病毒和威胁防护”设置页面。
  3. 从“排除项”部分访问“添加或删除排除项”页面。
  4. 选择“添加排除项”按钮,然后从下拉菜单中选择“文件夹” 。
  5. 导航到%localappdata%\UiPath文件夹,然后选择“选择文件夹”按钮。请注意,在排除列表中添加文件夹需要管理员权限。

如此一来,Windows Defender 便不会再即时扫描流程执行期间创建的日志文件。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新