排查桌面流运行队列错误
本文提供桌面流运行期间遇到的基于队列的错误的背景和潜在解决方案。
适用于: Power Automate
原始 KB 数: 5004537
现象
桌面流可能无法运行并显示错误代码 NoCandidateMachine
或错误详细信息“找不到能够运行桌面流的计算机”。
你可能还会收到以下常见子程序代码之一:
- SessionExistsForTheUserWhenUnattended
- UnattendedUserSessionDisconnected
- UnattendedUserSessionLocked
- AttendedUserSessionNotActive
- AttendedUserNotLoggedIn
- UIFlowAlreadyRunning
原因
如果没有计算机可用,Power Automate 会创建一个队列来保存等待运行的桌面流。 计算机可用后,将选择下一个桌面流运行,以便根据 优先级 和请求时间运行。 如果自请求计算机后六小时后不可用,桌面流将超时并失败并出现 NoCandidateMachine
错误代码。
如错误消息中所述,此错误意味着业务流程协调程序找不到运行桌面流的可用计算机。 在桌面流执行开始之前发生此错误。
重要
Power Automate 会自动将并发桌面流运行数缩放到支持的最大值。 计算机运行队列遵循先入先出的方法,这意味着收到的第一个运行是要执行的下一个运行。 如果所有可用计算机已达到其最大并发会话数,并且无法在队列中执行下一次运行,则会阻止队列,直到计算机可用于在队列中运行下一次运行。
SessionExistsForTheUserWhenUnattended
尝试在登录桌面流连接中使用的用户的目标计算机上运行无人参与桌面流时,会发生此错误。
解决方法
若要解决此问题,请注销会话(锁定的会话将导致此错误),并确认未使用计算机上的同一用户登录。
UnattendedUserSessionDisconnected
尝试在目标计算机上运行无人参与桌面流时,会出现此错误,其中桌面流连接中使用的用户会话已断开连接。
解决方法
若要解决此问题,请注销断开连接的会话,并确认未使用计算机上的同一用户登录。
UnattendedUserSessionLocked
尝试在目标计算机上运行无人参与桌面流时,会出现此错误,其中桌面流连接中使用的用户已锁定会话。
解决方法
若要解决此问题,请注销锁定的会话,并确认未使用计算机上的同一用户登录。
AttendedUserSessionNotActive
尝试在锁定或断开用户会话的目标计算机上运行参与的桌面流时,会发生此错误。 仅当计算机在当前用户与桌面流连接中的会话匹配的会话上解锁时,才能执行已加入的桌面流。
解决方法
若要解决此问题,请执行以下操作:
- 在计算机上重新连接用于参与运行的用户,并使会话在计算机上处于活动状态。
- 验证你是否以正确的计算机为目标。 为此,请打开计算机运行时应用程序,然后在门户中选择“查看计算机”,以验证它是否使你能够转到运行中面向的计算机。
AttendedUserNotLoggedIn
当连接中指定的用户未登录到目标计算机时,将发生此错误。
解决方法
若要解决此问题,请执行以下操作:
- 在计算机上与用于参与运行的用户使用连接,并使会话在计算机上处于活动状态。
- 验证你是否以正确的计算机为目标。 为此,请打开计算机运行时应用程序,然后在门户中选择“查看计算机”,以验证它是否使你能够转到运行中面向的计算机。
- 检查连接中使用的凭据,并确保它们是解锁会话中使用的凭据。 可以通过在任何命令提示符中键入
whoami
来验证标识。
注意
对于 AttendedUserSessionNotActive
或 AttendedUserNotLoggedIn
错误,请验证运行 Power Automate 服务(UIFlowService)的帐户是否在计算机上具有远程桌面权限。 默认情况下,Power Automate 服务以 NT SERVICE\UIFlowService
. 如果未更改此项,请验证 NT SERVICE\UIFlowService
是否位于 远程桌面用户组 中。 为此,请转到“开始>运行”,键入 usrmgr.msc,选择“组”,双击远程桌面用户组并验证该帐户是否包含。 如果不包括它,请包含它(这需要管理员权限)并重启计算机。
UIFlowAlreadyRunning
在计算机上运行桌面流时,此错误可能发生在以下情况之一:
- 运行已加入或无人参与的桌面流,并且计算机上的活动会话数已达到其限制。
- 尝试为已登录的用户打开会话。
解决方法
若要解决此问题,请等待正在运行的流完成或 取消其父云流运行。
其他错误代码
有关运行桌面流和缓解步骤时可能发生的其他错误代码的信息,请参阅 运行已参与或无人参与的桌面流时出现错误代码。
详细信息
如果未提供子代码,请检查是否:
计算机组中的计算机或所有计算机处于脱机状态。
启动计算机并确保 Power Automate Desktop 已正确安装,并且可以与 Internet 通信。
计算机组为空。
请确保计算机组在分配桌面流运行之前至少包含一台计算机。
计算机组中的计算机或所有计算机都在连续忙碌。
如果计算机没有及时拾取桌面流,则可能是因为分配的计算机资源不足以满足工作流需求。 添加更多计算机可以帮助分发工作负荷。
由于网络(包括代理或防火墙)问题,无法访问计算机。
请与 IT 管理员协作,确保计算机可访问。
此问题是暂时性的。
请尝试在操作设置中更改 重试策略 。
计算机组中的计算机或所有计算机都无法连接到桌面流。
确保满足以下条件之一:
- 你未尝试在所有计算机都登录的组中运行无人参与流。
- 你未尝试在所有计算机注销的组中运行已加入的流。
计算机不再可用。
添加新计算机,然后更新云流中的桌面流连接以使用新计算机。
如果由于上述原因之一,在运行队列中备份了桌面流,则可以通过使用“桌面流运行”页上的“取消父流运行操作”取消父流运行来批量取消桌面流运行。 解决计算机问题后,可以重启这些云流。