无人参与的桌面流运行失败,出现 MSEntraMachineAlwaysPromptingForPassword 错误
本文提供了在 Microsoft Power Automate 桌面版 中运行无人参与桌面流时发生的错误的解决方案。
现象
无人参与的桌面流运行失败,并出现“MSEntraMachineAlwaysPromptingForPassword”错误代码(前为“AADMachineAlwaysPromptingForPassword”)。
{
"error":{
"code": "MSEntraMachineAlwaysPromptingForPassword",
"message": "Could not create unattended session with these credentials."
}
}
原因
Power Automate 桌面版无法验证计算机上的 Microsoft Entra ID(前为 Azure Active Directory)凭据。 此问题通常是由计算机上的组策略设置引起的。
解决方法 1:对具有用户证书的远程桌面使用 Microsoft Entra 身份验证
此解决方案需要Power Automate 桌面版版本 2.50 或更高版本,并且当无法向桌面流连接帐户授予多重身份验证(MFA)异常时,必须使用此解决方案。
有关如何为 Power Automate 设置Microsoft基于 Entra 证书的身份验证的步骤,请参阅“配置基于证书的身份验证”(预览版)。
解决方法 2:对具有用户名和密码的远程桌面使用 Microsoft Entra 身份验证
此解决方法需要Power Automate 桌面版 2.49 或更高版本。 如果未为桌面流连接使用的帐户启用 MFA,则可以改为使用用户名和密码设置 Microsoft Entra 身份验证。
使用管理权限打开注册表编辑器(regedit)。 导航到以下注册表路径,使用名称
UseRdsAadAuthentication
创建新的 DWORD-32 值,然后将值UseRdsAadAuthentication
设置为 1。注册表路径 注册表项 DWORD-32 值 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Power Automate Desktop\Service UseRdsAadAuthentication
1 隐藏目标设备组的同意提示对话框。
重启 Power Automate 服务。
使用具有用户名和密码凭据的 Microsoft Entra ID 连接。 请注意,此帐户需要 MFA 异常。
解决方法 3:禁用 fPromptForPassword
若要解决此问题,请检查计算机上的组策略设置。
按 Windows 键+R 打开 “运行 ”对话框。
键入 gpedit.msc ,然后按 Enter 打开本地组策略编辑器。
导航到计算机配置>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>安全性。
在连接设置时查找始终提示输入密码。
如果启用此设置,请与 IT 部门合作,禁用该计算机的策略。
备注
此值也会反映在 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 的注册表中。 如果终端服务密钥的 fPromptForPassword DWORD 值设置为 1,则会启用该设置,并且你需要与 IT 部门合作来禁用它(只是更改注册表值通常不够,因为它可能还原)。
如果未启用连接设置时始终提示输入密码,但收到错误代码,请在“运行”对话框中键入 regedit以打开注册表编辑器。 在注册表编辑器中 ,导航到 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 注册表项。 然后,查找 fPromptForPassword DWORD 并将其设置为 0。 如果 DWORD 不存在,请创建它并将其值设置为 0。