解决无监督桌面流运行的会话创建错误

本文提供了在 Microsoft Power Automate 中无人参与的桌面流运行期间,可能会发生的会话创建错误的背景和潜在解决方案。

适用于: Power Automate

现象

无人参与的桌面流运行可能会失败,并出现以下错误代码之一:

原因

运行无人参与会话时,Power Automate 会尝试在目标计算机上创建远程桌面协议 (RDP) 连接。 如果此会话创建失败,可能会收到其中一个错误代码。

第三方凭据提供程序会话创建错误

发生此错误代码的原因是第三方软件干扰了 Power Automate 在计算机上创建会话的能力。 Power Automate 不支持某些第三方凭据提供程序,或者可能会因配置而遇到冲突。

解决方法

若要解决此问题,请与管理员联系,卸载 Power Automate 不支持的凭据提供程序。

可以在以下注册表项中找到计算机上凭据提供程序的完整列表(其中许多是内置凭据):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers

每个子项表示已安装的凭据提供程序。 下表列出了 Power Automate 当前不支持的凭据提供程序。 如果你有以下任一软件子项,请与系统管理员协作卸载相应的软件。

名称 子项名称
SailPoint Technologies 桌面密码重置 0094A34B-0BF0-4789-8B2D-8339E469D756
SID凭证提供者 36ED98C6-02FF-47e8-B7FE-957A411CEA16
CGWinLogon BDA6DA5B-7E7E-482C-9B3E-67AFF0C838C0

连接后提示用户输入凭据创建会话

当建立 RDP 连接后,要求输入凭据时,此错误代码会发生。 Power Automate 要求在连接设置过程中处理凭据,因此意外的提示弹窗可能导致流程失败。

解决方法

解决方法步骤取决于计算机的设置。 按照说明确定设置并应用相应的解决方案:

重要

本部分、方法或任务包含说明如何修改注册表的步骤。 如果您错误地修改注册表,可能会出现严重问题。 因此,请确保仔细执行这些步骤。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表

  1. 打开 命令提示符 并运行 dsregcmd /status

  2. “设备状态” 部分下的输出中,检查其值 AzureAdJoinedDomainJoined

    如果 AzureAdJoined: YESDomainJoined: NO

    1. 按 Windows+R、键入regedit和按 Enter 打开注册表编辑器

    2. 导航到以下路径:

      Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

    3. 检查密钥是否 Terminal Services 包含 fPromptForPassword 子项:

      • 如果存在且设置为 1,请联系 IT 部门以禁用“始终在连接时提示密码”策略。 更新策略后,强制在计算机上刷新策略。

      • 如果 fPromptForPassword 不存在,请导航到:

        Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

        查找 fPromptForPassword DWORD。 如果存在,则将其值设置为 0。 如果不存在,请创建它并将其值设置为 0

    对于其他计算机配置:

    1. 按 Windows+R、键入regedit和按 Enter 打开注册表编辑器

    2. 导航到以下路径:

      Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

    3. 检查密钥是否 Terminal Services 包含以下值:

      • fPromptForPassword = 1
      • SecurityLayer = 0
      • UserAuthentication = 0

      如果所有三个值都存在,请联系 IT 部门更新以下值之一:

      • fPromptForPassword 设置为 0
      • 设置为 SecurityLayer12,或
      • UserAuthentication 设置为 1

      如果缺少一个或多个值:

      • 根据要求选择缺失值之一。

      • 导航到:

        Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

      • 更新所选值(如果不存在则创建):

        • fPromptForPassword 设置为 0,或
        • 设置为 SecurityLayer12,或
        • UserAuthentication 设置为 1
  3. 在进行注册表更改后重启计算机。

SessionCreationError

由于未知原因,会话创建失败时,会发生此错误代码。

解决方法

若要解决此问题:

  • 确保可以从网络上的另一台计算机将远程桌面连接到计算机。 如果使用 Windows Server,则可以尝试在以另一帐户登录时从本地计算机本身进行远程桌面访问“localhost”。 如果这些作失败,请参阅 常规远程桌面连接故障排除
  • 如果已为登录启用法律通知,请与系统管理员合作,尝试禁用它。 若要查看是否已激活法律通知,请打开注册表编辑器并转到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System。 如果 legalnoticecaption 不是 legalnoticetext 空,请与系统管理员合作禁用法律声明。
  • 确保未安装任何可能影响登录或干扰创建远程桌面连接的第三方软件。
  • 如果使用域帐户(DOMAIN\user)进行连接,则域控制器的连接问题可能会阻止会话正确打开。 请与系统管理员协作,检查连接日志。 如果使用的是已加入 Microsoft Entra 或 Entra 混合联接的设备,请尝试使用 UPN (user@domain.com)。 若要查看是否可以使用 UPN,请转到 “启动>运行”,然后运行 dsregcmd /status 命令。 如果看到 AzureAdJoined: YES 下面的 Device State内容,请尝试更改连接中指定的用户的格式 user@domain.com

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。