排查在连接到 Azure 虚拟桌面时适用于 Windows 的远程桌面客户端出现的问题

本文介绍在连接到 Azure 虚拟桌面时适用于 Windows 的远程桌面客户端可能出现的问题以及如何解决这些问题。

常规

在本部分中,你将找到有关远程桌面客户端常见问题的故障排除指南。

看不到预期的资源

如果未在应用中看到预期的远程资源,请检查所使用的帐户。 如果已登录的帐户不是要用于 Azure 虚拟桌面的帐户,应首先注销,然后使用正确的帐户再次登录。 如果使用的是远程桌面 Web 客户端,则可以使用 InPrivate 浏览器窗口尝试使用其他帐户登录。

如果使用的是正确的帐户,请确保应用程序组与工作区关联。

你的帐户配置为阻止你使用此设备

如果遇到一个错误指出“你的帐户已配置为阻止你使用此设备。有关详细信息,请与系统管理员联系”,请确保为用户帐户提供了 VM 上的虚拟机用户登录角色

用户名或密码不正确

如果你无法登录并继续收到错误消息,指出你的凭据不正确,请首先确保你使用的是正确的凭据。 如果继续看到错误消息,请检查以确保已满足以下要求:

  • 是否已将“虚拟机用户登录”的基于角色的访问控制 (RBAC) 权限分配给每个用户的虚拟机 (VM) 或资源组?
  • 你的条件访问策略是否对 Azure Windows VM 登录云应用程序排除了多重身份验证要求?

如果对这些问题中的任何一个回答为“否”,则需要重新配置多重身份验证。 要重新配置多重身份验证,请按照使用条件访问对 Azure 虚拟桌面强制实施 Microsoft Entra 多重身份验证中的说明进行操作。

重要

VM 登录不支持按用户启用或强制执行的 Microsoft Entra 多重身份验证。 如果在 VM 上尝试使用多重身份验证登录,将无法登录并收到错误消息。

如果已将 Microsoft Entra 日志与 Azure Monitor 日志集成,以通过 Log Analytics 访问 Microsoft Entra 登录日志,则可查看是否已启用多重身份验证以及触发事件的条件访问策略。 显示的事件是 VM 的非交互式用户登录事件,这意味着 IP 地址似乎来自你的 VM 访问 Microsoft Entra ID 时使用的外部 IP 地址。

可以通过运行以下 Kusto 查询来访问登录日志:

let UPN = "userupn";
AADNonInteractiveUserSignInLogs
| where UserPrincipalName == UPN
| where AppId == "372140e0-b3b7-4226-8ef9-d57986796201"
| project ['Time']=(TimeGenerated), UserPrincipalName, AuthenticationRequirement, ['MFA Result']=ResultDescription, Status, ConditionalAccessPolicies, DeviceDetail, ['Virtual Machine IP']=IPAddress, ['Cloud App']=ResourceDisplayName
| order by ['Time'] desc

检索和打开客户端日志

调查问题时,可能需要用到客户端日志。

检索客户端日志:

  1. 通过右键单击系统托盘中的“远程桌面”图标并选择“断开所有会话连接”,确保会话均未处于活动状态并且客户端进程未在后台运行。
  2. 打开“文件资源管理器”。
  3. 导航到“%temp%\DiagOutputDir\RdClientAutoTrace”文件夹。

日志采用 .ETL 文件格式。 可以使用 tracerpt 命令将其转换为 .CSV 或 .XML 格式以便于阅读。 找到要转换的文件的名称并记下它。

  • 若要将 .ETL 文件转换为 .CSV 格式,请打开 PowerShell 并运行以下命令。请将命令中 $filename 的值替换为要转换的文件的名称(不包括扩展名),并将 $outputFolder 的值替换为要在其中创建 .CSV 文件的目录。

    $filename = "<filename>"
    $outputFolder = "C:\Temp"
    cd $env:TEMP\DiagOutputDir\RdClientAutoTrace
    tracerpt "$filename.etl" -o "$outputFolder\$filename.csv" -of csv
    
  • 若要将 .ETL 文件转换为 .XML 格式,请打开命令提示符或 PowerShell 并运行以下命令。请将命令中的 <filename> 替换为要转换的文件的名称,并将 $outputFolder 替换为要在其中创建 .XML 文件的目录。

    $filename = "<filename>"
    $outputFolder = "C:\Temp"
    cd $env:TEMP\DiagOutputDir\RdClientAutoTrace
    tracerpt "$filename.etl" -o "$outputFolder\$filename.xml"
    

客户端停止响应或无法打开

如果适用于 Windows 的远程桌面客户端或适用于 Windows 的 Azure 虚拟桌面应用商店应用停止响应或无法打开,你可能需要重置用户数据。 如果可以打开客户端,则可以从“关于”菜单重置用户数据;如果无法打开客户端,可以从命令行重置用户数据。 客户端的默认设置将会还原,你将取消订阅所有工作区。

若要从客户端重置用户数据,请执行以下操作:

  1. 在设备上打开“远程桌面”应用。

  2. 选择右上角的三个点以显示菜单,然后选择“关于”。

  3. 在“重置用户数据”部分选择“重置”。 若要确认重置用户数据,请选择“继续”。

若要从命令行重置用户数据,请执行以下操作:

  1. 打开 PowerShell。

  2. 将目录更改为远程桌面客户端的安装位置,此位置默认为 C:\Program Files\Remote Desktop

  3. 运行以下命令以重置用户数据。 系统将提示你确认是否要重置用户数据。

    .\msrdcw.exe /reset
    

    还可以添加 /f 选项,这样,无需确认即可重置用户数据:

    .\msrdcw.exe /reset /f
    

管理员可能已结束你的会话

当策略设置“允许用户使用远程桌面服务进行远程连接”设置为“已禁用”时,你会看到错误消息“管理员可能已结束你的会话。请尝试重新连接。如果此操作不起作用,请向管理员或技术支持寻求帮助”。

根据会话主机是使用组策略还是 Intune 进行管理,配置策略以允许用户重新连接。

对于组策略:

  1. 打开使用 Active Directory 管理的会话主机的组策略管理控制台 (GPMC) 或本地组策略编辑器控制台,然后编辑针对会话主机的策略。

  2. 浏览到“计算机配置”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“连接”

  3. 将策略设置“允许用户使用远程桌面服务进行远程连接”设置为“已启用”。

对于 Intune:

  1. 打开“设置目录”。

  2. 浏览到“计算机配置”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“连接”

  3. 将策略设置“允许用户使用远程桌面服务进行远程连接”设置为“已启用”。

身份验证和标识

本部分提供有关远程桌面客户端身份验证和标识问题的故障排除指导。

登录尝试失败

如果在 Windows 安全凭据提示处遇到一个错误指出“登录尝试失败”,请验证以下内容:

  • 你使用的设备已加入 Microsoft Entra 或 Microsoft Entra 混合,并且与会话主机位于同一 Microsoft Entra 租户中。
  • 本地电脑和会话主机上均启用了 PKU2U 协议
  • 为用户帐户禁用了每用户多重身份验证,因为已加入 Microsoft Entra 的 VM 不支持此功能。

你尝试使用的登录方法不受允许

如果遇到一个错误指出“你尝试使用的登录方法不受允许。请尝试其他登录方法或与系统管理员联系”,则表明你的条件访问策略限制了访问。 请按照使用条件访问对 Azure 虚拟桌面强制实施 Microsoft Entra 多重身份验证中的说明,为已加入 Microsoft Entra 的 VM 强制实施 Microsoft Entra 多重身份验证。

如果为系统/网络服务帐户运行 该会话可能已被终止。

如果遇到错误提示“发生了身份验证错误。指定的登录会话不存在。它可能已经终止”,请确认你在配置单一登录时正确创建和配置了 Kerberos 服务器对象。

使用 Windows 的 N SKU 时出现身份验证问题

出现身份验证问题的原因可能是在本地设备上使用了没有媒体功能包的 Windows N SKU。 若要了解详细信息以及如何安装媒体功能包,请参阅 Windows N 版本的媒体功能包列表

未启用 TLS 1.2 时出现身份验证问题

当本地 Windows 设备上未启用 TLS 1.2 时,可能会出现身份验证问题。 要启用 TLS 1.2,你需要设置以下注册表值:

  • 键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client

    值名称 类型 值数据
    DisabledByDefault DWORD 0
    已启用 DWORD 1
  • 键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server

    值名称 类型 值数据
    DisabledByDefault DWORD 0
    已启用 DWORD 1
  • 键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

    值名称 类型 值数据
    SystemDefaultTlsVersions DWORD 1
    SchUseStrongCrypto DWORD 1

可以通过以管理员身份打开 PowerShell 并运行以下命令来配置这些注册表值:

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWORD' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWORD' -Force

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWORD' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWORD' -Force

New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWORD' -Force
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWORD' -Force

问题未在此处列出

如果你的问题未在此处列出,请参阅 Azure 虚拟桌面的故障排除概述、反馈和支持了解如何为 Azure 虚拟桌面创建 Azure 支持案例。