排查常见的 Azure 虚拟桌面代理问题

由于多种因素,Azure 虚拟桌面代理可能会导致连接问题:

  • 中转站上出现了错误,导致代理停止服务。
  • 与更新相关的问题。
  • 在代理安装过程中与安装相关的问题会破坏到会话主机的连接。

本文将指导你了解这些常见情况的解决方案以及如何解决连接问题。

注意

为了排查与会话连接和 Azure 虚拟桌面代理相关的问题,建议通过转到“事件查看器”>“Windows 日志”>“应用程序”来查看会话主机虚拟机 (VM) 上的事件日志。 查找具有以下某一种源的事件,以确定问题:

  • WVD-Agent
  • WVD-Agent-Updater
  • RDAgentBootLoader
  • MsiInstaller

错误:RDAgentBootLoader 和/或远程桌面代理加载程序已停止运行

如果看到以下任何问题,则意味着加载该代理的启动加载程序未能正确安装该代理,并且代理服务未在会话主机 VM 上运行:

  • RDAgentBootLoader 已停止或未运行。
  • 远程桌面代理加载程序没有状态。

若要解决此问题,请启动 RDAgent 启动加载程序:

  1. 在“服务”窗口中,右键单击“远程桌面代理加载程序”。

  2. 选择“启动”。 如果看到此选项为灰显,则表明不具有管理员权限。 需要获取这些权限才能启动该服务。

  3. 请等待 10 秒,然后右键单击“远程桌面代理加载程序”。

  4. 选择“刷新”。

  5. 如果服务在启动并刷新后停止,则可能出现注册失败。 有关详细信息,请参阅 INVALID_REGISTRATION_TOKEN或EXPIRED_MACHINE_TOKEN

错误:INVALID_REGISTRATION_TOKEN 或 EXPIRED_MACHINE_TOKEN

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件并且说明为 INVALID_REGISTRATION_TOKENEXPIRED_MACHINE_TOKEN,则表示使用的注册密钥未被识别为有效。

若要解决此问题,请执行下列操作:

  1. 若要创建新注册密钥,请按照生成新的注册密钥中的步骤操作。

  2. 以管理员身份打开 PowerShell 提示符,运行以下命令将新注册密钥添加到注册表中。 请将 <RegistrationToken> 替换为生成的新注册令牌。

    $newKey = '<RegistrationToken>'
    
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\RDInfraAgent" -Name "IsRegistered" -Value 0 -Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\RDInfraAgent" -Name "RegistrationToken" -Value $newKey -Force
    
  3. 接下来,运行以下命令以重启 RDAgentBootLoader 服务:

    Restart-Service RDAgentBootLoader
    
  4. 运行以下命令验证 IsRegistered 是否设置为 1,且 RegistrationToken 是否为空。

    Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\RDInfraAgent" -Name IsRegistered | FL IsRegistered
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\RDInfraAgent" -Name RegistrationToken | FL RegistrationToken
    

    输出应类似于以下输出:

    IsRegistered : 1
    
    RegistrationToken : 
    
  5. 检查会话主机在主机池中是否不可用。 如果不可用,请查看事件查看器条目,看看是否有任何错误导致代理无法启动。

错误:代理无法连接到中转站,出现 INVALID_FORM

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且该事件的说明中包含“INVALID_FORM”,则表明代理无法连接到中转站或访问特定终结点。 此问题可能是因为使用了特定的防火墙或 DNS 设置。

若要解决此问题,请检查是否可以访问称为 BrokerResourceIdURIBrokerResourceIdURIGlobal 的两个终结点:

  1. 打开注册表编辑器。

  2. 转到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RDInfraAgent”。

  3. 记下 BrokerResourceIdURIBrokerResourceIdURIGlobal 的值。

  4. 打开 Web 浏览器,在地址栏中输入 BrokerResourceIdURI 的值,并将 /api/health 添加到末尾,例如 https://rdbroker-g-us-r0.wvd.microsoft.com/api/health

  5. 在浏览器中打开另一个标签页,在地址栏中输入 BrokerResourceIdURIGlobal 的值,并将 /api/health 添加到末尾,例如 https://rdbroker.wvd.microsoft.com/api/health

  6. 如果网络未阻止连接到中转站,则两个页面应成功加载并显示消息“RD 中转站处于正常状态”,如以下屏幕截图所示:

    成功加载的中转站 URI 访问的屏幕截图

    成功加载的中转站全局 URI 访问的屏幕截图

  7. 如果网络阻止了中转站连接,则页面将不会加载,如以下屏幕截图中所示。

    未成功加载的中转站访问的屏幕截图

    未成功加载的中转站全局访问的屏幕截图

    必须取消阻止所需的终结点,然后重复步骤 4 到 7。 有关详细信息,请参阅所需 URL 的列表

  8. 如果执行上述步骤未能解决问题,请确保没有任何组策略使用了阻止代理连接到中转站的密码。 Azure 虚拟桌面使用与 Azure Front Door 相同的 TLS 1.2 密码。 有关详细信息,请参阅连接安全性

错误:3703

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3703 的事件,并且该事件的说明中包含“RD 网关 URL: 无法访问”,则表明代理无法访问网关 URL。 若要成功连接到会话主机,必须允许发往所需 URL 的列表中的 URL 的网络流量。 此外,请确保防火墙或代理设置不会阻止这些 URL。 使用 Azure 虚拟桌面需要取消阻止这些 URL。

若要解决此问题,请执行以下操作: 如果使用 Azure 防火墙,请参阅使用 Azure 防火墙保护 Azure 虚拟桌面部署Azure 防火墙 DNS 设置,详细了解如何为 Azure 虚拟桌面配置该防火墙。

错误:3019

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3019 的事件,则代理无法访问 Web 套接字传输 URL。 若要成功连接到会话主机,并允许网络流量绕过这些限制,则必须取消阻止所需 URL 的列表中列出的 URL。 请与网络团队合作,以确保防火墙、代理和 DNS 设置未阻止这些 URL。 还可以检查网络跟踪日志,以确定正在阻止 Azure 虚拟桌面服务的位置。 如果为此特定问题创建一个 Microsoft 支持案例,请确保将网络跟踪日志附加到该请求。

错误:InstallationHealthCheckFailedException

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且其说明中显示“InstallationHealthCheckFailedException”,则堆栈侦听器未起作用,因为终端服务器已经切换了该堆栈侦听器的注册表项。

若要解决此问题,请执行下列操作:

  1. 查看堆栈侦听器是否正常工作

  2. 如果堆栈侦听器不起作用,请手动卸载并重新安装堆栈组件

错误:ENDPOINT_NOT_FOUND

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且其说明中显示“ENDPOINT_NOT_FOUND”,则表示中转站找不到要与之建立连接的终结点。 发生这种情况的原因可能会是以下某一种:

  • 主机池中没有任何主机会话 VM。
  • 主机池中的主机会话 VM 未处于活动状态。
  • 主机池中的所有主机会话 VM 都已超过最大会话限制。
  • 主机池中的 VM 上都没有运行代理服务。

若要解决此问题,请执行下列操作:

  1. 确保 VM 已开机且未从主机池中删除。

  2. 确保 VM 未超出最大会话限制。

  3. 确保代理服务正在运行并且堆栈侦听器运行正常

  4. 确保代理可以连接到中转站

  5. 确保 VM 具有有效注册令牌

  6. 确保 VM 注册令牌未过期

错误:InstallMsiException

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且该事件的说明中包含“InstallMsiException”,则表明该安装程序在你尝试安装代理时已在为另一应用程序运行,或者,组策略正在阻止 msiexec.exe 运行。

若要检查组策略是否正在阻止 msiexec.exe 运行,请执行以下操作:

  1. 通过从权限提升的命令提示符下运行 rsop.msc 来打开策略的结果集。

  2. 在弹出的“策略的结果集”窗口中,转到“计算机配置”>“管理模板”>“Windows 组件”>“Windows Installer”>“禁用 Windows Installer”。 如果状态为“已启用”,请与 Active Directory 团队协作以允许 msiexec.exe 运行。

    策略结果集中的 Windows Installer 策略的屏幕截图

    注意

    此列表不是完整的策略列表,而只是我们目前知道的策略。

错误:Win32Exception

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且该事件的说明中包含“InstallMsiException”,则表明某个策略正在阻止 cmd.exe 启动。 阻止此程序会阻止运行控制台窗口,而只要代理更新就需要使用控制台窗口来重启服务。

  1. 通过从权限提升的命令提示符下运行 rsop.msc 来打开策略的结果集。

  2. 在弹出的“策略的结果集”窗口中,转到“用户配置”>“管理模板”>“系统”>“阻止访问命令提示符”。 如果状态为“已启用”,请与 Active Directory 团队协作以允许 cmd.exe 运行。

错误:堆栈侦听器在 Windows 10 2004 会话主机 VM 上不起作用

在会话主机 VM 上,从命令提示符下运行 qwinsta.exe,并记下 SESSIONNAME 列中 rdp-sxs 旁边显示的版本号。 如果 rdp-tcp 和 rdp-sxs 条目的 STATE 列不是“Listen”,或者 rdp-tcp 和 rdp-sxs 条目根本未列出,则表示存在堆栈问题。 堆栈更新将与代理更新一起安装,但如果安装失败,Azure 虚拟桌面侦听器将无法正常工作。

若要解决此问题,请执行下列操作:

  1. 打开注册表编辑器。

  2. 转到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations”。

  3. 在“WinStations”下,你可能会看到不同堆栈版本的多个文件夹,请选择与你在命令提示符下运行 qwinsta.exe 时看到的版本信息匹配的文件夹。

    • 查找“fReverseConnectMode”并确保其数据值为“1” 。 另外,请确保“fEnableWinStation”设置为“1” 。

      fReverseConnectMode 的屏幕截图

    • 如果“fReverseConnectMode”未设置为 1,请选择“fReverseConnectMode”并在其值字段中输入“1” 。

    • 如果“fEnableWinStation”未设置为 1,请选择“fEnableWinStation”并在其值字段中输入“1” 。

  4. 对在命令提示符下运行 qwinsta.exe 时看到的版本信息匹配的每个文件夹重复上述步骤。

    提示

    若要一次更改多个 VM 的 fReverseConnectMode 或 fEnableWinStation 模式,可以执行以下两项操作之一 :

    • 从已正常运行的计算机中导出注册表项,并将其导入到需要此更改的所有其他计算机。
    • 创建组策略对象 (GPO) 以便为需要更改的计算机设置注册表项值。
  5. 重启会话主机 VM。

  6. 打开注册表编辑器。

  7. 转到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings”。

  8. 在 ClusterSettings 下,找到 SessionDirectoryListener 并确保其数据值为 rdp-sxs<version number,其中 <version number 与在命令提示符下运行 qwinsta.exe 时看到的版本信息匹配。

  9. 如果“SessionDirectoryListener”未设置为 rdp-sxs<version number,则需要执行你的问题未在此处列出或未解决部分中的步骤。

错误:DownloadMsiException

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3277 的事件,并且该事件的说明中包含“DownloadMsiException”,则表明磁盘上没有足够的空间用于 RDAgent。

若要解决此问题,请通过以下方式在磁盘上腾出空间:

  • 删除不再使用的文件。
  • 提高会话主机 VM 的存储容量。

错误:代理无法更新,出现 MissingMethodException

在会话主机 VM 上,转到“事件查看器”>“Windows日志”>“应用程序”。 如果看到 ID 为 3389 的事件并且其说明中显示“MissingMethodException: 找不到方法”,则表示 Azure 虚拟桌面代理未成功更新,并且还原到某个早期版本。 此问题可能是因为 VM 上目前安装的 .NET framework 的版本号低于 4.7.2。 若要解决此问题,需要通过按照 .NET Framework 文档中的安装说明操作来将 .NET 升级到版本 4.7.2 或更高版本。

错误:会话主机 VM 停滞在“正在升级”状态

如果为主机池中的会话主机列出的状态始终显示为“不可用”或“正在升级”,则表明代理或堆栈未成功安装。

若要解决此问题,请首先重新安装并行堆栈:

  1. 以管理员身份登录到会话主机 VM。

  2. 从权限提升的 PowerShell 提示符下运行 qwinsta.exe,并记下 SESSIONNAME 列中 rdp-sxs 旁边显示的版本号。 如果 rdp-tcp 和 rdp-sxs 条目的 STATE 列不是“Listen”,或者 rdp-tcp 和 rdp-sxs 条目根本未列出,则表示存在堆栈问题。

  3. 运行以下命令来停止 RDAgentBootLoader 服务:

    Stop-Service RDAgentBootLoader
    
  4. 转到“控制面板”>“程序”>“程序和功能”,或在 Windows 11 上转到“设置应用”>“应用”。

  5. 卸载“远程桌面服务 SxS 网络堆栈”的最新版本或注册表编辑器内 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations 中的 ReverseConnectionListener 值下列出的版本。

  6. 返回到 PowerShell 提示符,运行以下命令,将会话主机 VM 上可用于并行堆栈的最新安装程序的文件路径添加到变量并列出其名称:

    $sxsMsi = (Get-ChildItem "$env:SystemDrive\Program Files\Microsoft RDInfra\" | ? Name -like SxSStack*.msi | Sort-Object CreationTime -Descending | Select-Object -First 1).FullName
    $sxsMsi
    
  7. 运行以下命令,安装会话主机 VM 上可用于并行堆栈的最新安装程序:

    msiexec /i $sxsMsi
    
  8. 重启会话主机 VM。

  9. 在命令提示符下再次运行 qwinsta.exe,并验证 rdp-tcp 和 rdp-sxs 条目的 STATE 列是否为“Listen”。 如果未显示,则需要重新注册 VM 并重新安装代理组件。

错误:会话主机卡在“不可用”状态

如果会话主机 VM 停滞在“不可用”状态,则表示 VM 未通过运行状况检查中列出的运行状况检查之一。 必须解决导致 VM 无法通过运行状况检查的问题。

错误:会话主机卡在“需要协助”状态

有几个运行状况检查可能会导致你的会话主机 VM 卡在“需要协助”状态,UrlsAccessibleCheckMetaDataServiceCheckMonitoringAgentCheck

UrlsAccessibleCheck

如果会话主机未通过 UrlsAccessibleCheck 运行状况检查,你需要识别部署当前正在阻止哪个必需的 URL。 知道哪个 URL 被阻止后,识别哪个设置正在阻止该 URL,并删除该设置。

服务阻止必需 URL 的原因有两个:

  • 有一个处于活动状态的防火墙阻止了大多数出站流量以及对必需 URL 的访问。
  • 本地 hosts 文件阻止了必需的网站。

若要解决防火墙相关的问题,请添加一个规则,在其中允许出站连接到与被阻止 URL 关联的 TCP 端口 80/443。

如果本地 hosts 文件阻止了必需的 URL,请确保设备上的 Hosts 文件中不包含任何必需的 URL。 可在以下注册表项和值中找到 Hosts 文件位置:

项:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

类型:REG_EXPAND_SZ

名称:DataBasePath

MetaDataServiceCheck

如果会话主机未通过 MetaDataServiceCheck 运行状况检查,则服务无法访问 IMDS 终结点。 若要解决此问题,需要执行以下操作:

  • 重新配置网络、防火墙或代理设置,以取消阻止 IP 地址 169.254.169.254。
  • 确保 HTTP 客户端在查询 IMDS 时绕过 VM 中的 Web 代理。 我们建议在 VM 内用于处理出站网络流量方向的任何防火墙策略中允许必需的 IP 地址。

如果问题由 Web 代理导致,请在 Web 代理的配置中添加 169.254.169.254 的例外。 若要添加此例外,请打开权限提升的命令提示符或 PowerShell 会话并运行以下命令:

netsh winhttp set proxy proxy-server="http=<customerwebproxyhere>" bypass-list="169.254.169.254"

MonitoringAgentCheck

如果会话主机未通过 MonitoringAgentCheck 运行状况检查,则你需要检查远程桌面服务基础结构 Geneva 代理,并验证它是否在会话主机上正常运行:

  1. 验证会话主机上是否安装了远程桌面服务基础结构 Geneva 代理。 可以在会话主机上的已安装程序列表中对此进行验证。 如果你看到已安装此代理的多个版本,请卸载旧版本,仅保留最新版本。

  2. 如果找不到会话主机上安装的远程桌面服务基础结构 Geneva 代理,请查看 C:\Program Files\Microsoft RDInfra\GenevaInstall.txt 下的日志,并查看安装是否由于错误而失败。

  3. 验证是否已创建计划任务 GenevaTask_<version>。 必须启用并运行此计划任务。 如果没有,请使用名为 Microsoft.RDInfra.Geneva.Installer-x64-<version>.msi.msi 文件(可在 C:\Program Files\Microsoft RDInfra 中找到)重新安装代理。

错误:找不到连接:RDAgent 没有到中转站的活动连接

会话主机 VM 可能遇到了连接限制,并且无法接受新连接。

若要解决此问题,请执行以下操作之一:

  • 更改最大会话限制。 此更改会确保资源更均匀地分布在会话主机中,并将防止资源耗尽。
  • 增加会话主机 VM 的资源容量。

错误:正在操作 Pro VM 或其他不受支持的 OS

只有 Windows 企业版或 Windows Server SKU 支持并行堆栈,这就意味着 Pro VM 等操作系统不支持。 如果不具有 Enterprise 或 Server SKU,该堆栈将会安装在 VM 上但不会激活,因此,在命令行中运行 qwinsta 时,将不会显示该堆栈。

若要解决此问题,请使用支持的操作系统创建会话主机 VM

错误:NAME_ALREADY_REGISTERED

会话主机 VM 的名称已经注册,可能是重复项。

若要解决此问题,请执行下列操作:

  1. 按照从主机池删除会话主机部分中的步骤进行操作。

  2. 再创建一个 VM。 请确保为此 VM 选择独一无二的名称。

  3. 转到 Azure 门户并打开 VM 所在的主机池的“概述”页。

  4. 打开“会话主机”选项卡,并检查以确保所有会话主机都在该主机池中。

  5. 等待 5-10 分钟,让会话主机状态显示为“可用”。

    可用会话主机的屏幕截图

你的问题未在此处列出或未解决

如果在本文中找不到你的问题,或者说明内容没有帮助,建议你卸载、重新安装并重新注册 Azure 虚拟桌面代理。 本部分的说明介绍了如何通过以下方式将会话主机 VM 重新注册到 Azure 虚拟桌面服务:

  1. 卸载所有代理、启动加载程序和堆栈组件。

  2. 从主机池中移除会话主机。

  3. 为 VM 生成新的注册密钥。

  4. 重新安装 Azure 虚拟桌面代理和引导加载程序。

如果你遇到以下一个或多个场景,请按照本部分中的这些说明进行操作:

  • 会话主机 VM 的状态停滞为“升级”或“不可用”。
  • 堆栈侦听器不起作用,并且是在 Windows 10 版本 1809、1903 或 1909 上运行。
  • 收到 EXPIRED_REGISTRATION_TOKEN 错误。
  • 未看到会话主机 VM 出现在会话主机列表中。
  • 在“服务”控制台中看不到“远程桌面代理加载程序”服务。
  • 在任务管理器中,RdAgentBootLoader 组件未显示为正在运行的进程。
  • 在自定义映像 VM 上收到“连接中转站无法验证设置”错误。
  • 本文中前面的部分未解决你的问题。

步骤 1:卸载所有代理、启动加载程序和堆栈组件程序

在重新安装代理、引导加载程序和堆栈之前,必须先从 VM 卸载任何现有的组件。 若要卸载所有代理、启动加载程序和堆栈组件程序,请执行以下操作:

  1. 以管理员身份登录到会话主机 VM。

  2. 转到“控制面板”>“程序”>“程序和功能”,或在 Windows 11 上转到“设置应用”>“应用”。

  3. 卸载以下程序,然后重启会话主机 VM:

    注意

    卸载“远程桌面服务 SxS 网络堆栈”时,系统会提示你应关闭“远程桌面服务”和“远程桌面服务 UserMode 端口重定向程序”。 如果使用 RDP 连接到会话主机 VM,请选择“不要关闭应用程序”,然后选择“确定”,否则 RDP 连接将无法正常工作。

    屏幕截图,显示远程桌面服务和远程桌面服务用户模式端口重定向程序都应处于关闭状态

    • 远程桌面代理启动加载程序
    • 远程桌面服务基础结构代理
    • 远程桌面服务基础结构日内瓦代理
    • 远程桌面服务 SxS 网络堆栈

    注意

    你可能会看到这些程序的多个实例。 请确保将它们全部删除。

    卸载程序的屏幕截图

步骤 2:从主机池删除会话主机

在从主机池中删除会话主机时,该会话主机不再注册到该主机池。 此更改相当于重置会话主机注册。 若要从主机池删除会话主机,请执行以下操作:

  1. 登录 Azure 门户

  2. 在搜索栏中,键入“Azure 虚拟桌面”,然后选择匹配的服务条目。

  3. 选择“主机池”,然后选择会话主机 VM 所在主机池的名称。

  4. 选择“会话主机”,以查看该主机池中所有会话主机的列表。

  5. 查看会话主机列表,并勾选要删除的会话主机旁边的框。

  6. 选择“删除” 。

    从主机池删除 VM 的屏幕截图

步骤 3:为 VM 生成新的注册密钥

必须生成用于将会话 VM 重新注册到主机池和服务的新注册密钥。 若要为 VM 生成新注册密钥,请执行以下操作:

  1. 登录 Azure 门户

  2. 在搜索栏中,键入“Azure 虚拟桌面”,然后选择匹配的服务条目。

  3. 选择“主机池”,然后选择会话主机 VM 所在主机池的名称。

  4. 在“概述”边栏选项卡上,选择“注册密钥”。

    门户中注册密钥的屏幕截图

  5. 打开“注册密钥”选项卡,然后选择“生成新密钥” 。

  6. 输入到期日期,然后选择“确定”。

注意

到期日期可以是自生成时间和日期起最短不少于 1 小时并且最长不超过 27 天的时间和日期。 仅在你需要时才生成注册密钥。

  1. 将新生成的密钥复制到剪贴板,或者下载文件。 稍后会需要用到。

步骤 4:重新安装代理和启动加载程序

重新安装最新版本的代理和启动加载程序还会自动安装并行堆栈和 Geneva 监视代理。 若要重新安装代理和启动加载程序,请执行以下步骤。 这是非验证环境中 Azure 虚拟桌面代理的最新可下载版本。 有关推出新版本代理的详细信息,请参阅 Azure 虚拟桌面代理中的新增功能

  1. 以管理员身份登录会话主机 VM,并为会话主机 VM 运行代理安装程序和引导加载程序:

    提示

    对于下载的每个代理和引导加载程序安装程序,可能需要取消阻止它们。 右键单击每个文件并选择“属性”,然后选择“取消阻止”,最后选择“确定”。

  2. 在安装程序要求提供注册令牌时,请从剪贴板粘贴注册密钥。

    粘贴的注册令牌的屏幕截图

  3. 运行该启动加载程序的安装程序。

  4. 重启会话 VM。

  5. 登录 Azure 门户

  6. 在搜索栏中,输入“Azure 虚拟桌面”,然后选择匹配的服务条目。

  7. 选择“主机池”,然后选择会话主机 VM 所在主机池的名称。

  8. 选择“会话主机”,以查看该主机池中所有会话主机的列表。

  9. 现在,应该会看到在主机池中注册的会话主机,其状态为“可用”。

    可用会话主机的屏幕截图

删除 DisableRegistryTools 注册表项

如果已执行所有四个步骤,但代理仍不起作用,则可能是因为在以下位置之一启用了 DisableRegistryTools 注册表项:

  • HKU:\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools = 1
  • HKU:\S-1-5-18\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools = 1
  • HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools = 1

此注册表项阻止代理安装并行堆栈,这会导致 installMSIException 错误。 此错误导致会话主机停滞在不可用状态。

若要解决此问题,需要删除注册表项:

  1. 从前面列出的三个位置中删除 DisableRegistryTools 项。

  2. 应用和功能文件夹中卸载和删除受影响的并行堆栈安装。

  3. 删除受影响的并行堆栈的注册表项。

  4. 重新启动 VM。

  5. 启动代理,让它自动安装并行堆栈。

后续步骤

如果问题仍然存在,请创建支持案例,并包括有关所遇问题的详细信息,以及任何为尝试解决此问题所采取的操作。 以下列表包括了其他可用于排查 Azure 虚拟桌面部署中的问题的资源。