会话主机虚拟机配置疑难解答

本文有助于排查配置 Azure 虚拟桌面会话主机虚拟机(VM)时遇到的问题。

提供反馈

请访问 Azure 虚拟桌面技术社区,与产品团队和活跃的社区成员共同探讨 Azure 虚拟桌面服务。

VM 未加入域

如果在将虚拟机 (VM) 加入到域时遇到问题,请按照以下说明进行操作。

错误:凭据错误

原因

在 Azure 资源管理器模板接口修复中输入凭据时,出现了拼写错误。

解决方法

执行以下操作之一来解决此问题:

错误:等待用户输入超时

原因

用于完成域加入的帐户可能具有多重身份验证(MFA)。

解决方法

执行以下操作之一来解决此问题:

  • 为此帐户暂时删除 MFA。
  • 使用服务帐户。

错误:预配期间使用的帐户没有权限完成此操作

原因

由于符合性和法规,所使用的帐户无权将 VM 加入域。

解决方法

执行以下操作之一进行解决。

  • 使用管理员组成员帐户。
  • 向所使用的帐户授予必要的权限。

错误:无法解析域名

原因 1

VM 位于与域所在的虚拟网络不关联的虚拟网络上。

解决方法 1

在预配 VM 的虚拟网络与运行域控制器(DC)的虚拟网络之间创建虚拟网络对等互连。 请参阅创建虚拟网络对等互连 - 资源管理器,不同订阅

原因 2

使用 Microsoft Entra 域服务时,虚拟网络没有更新其域名系统(DNS)服务器设置,以指向托管域控制器。

解决方法 2

若要更新包含 Microsoft Entra 域服务的虚拟网络的 DNS 设置,请参阅 更新 Azure 虚拟网络的 DNS 设置。

原因 3

网络接口的 DNS 服务器设置不指向虚拟网络上的相应 DNS 服务器。

解决方法 3

执行以下操作之一,按照更改 DNS 服务器中的步骤解决问题:

错误:Active Directory 域中阻止了计算机帐户重用

原因

您尝试重复使用计算机帐户(主机名),应用了 2022 年 10 月 11 日之后发布的 Windows 更新,并且为域提供的用户帐户没有足够的权限重复使用计算机帐户。

解决方法

执行以下操作之一来解决此问题:

  • 使用用于创建现有计算机帐户对象的同一用户帐户。
  • 使用属于域管理员安全组成员的用户帐户。
  • 使用具有组策略设置 域控制器的用户帐户:允许在应用域加入 期间重复使用计算机帐户。 此设置要求在 Active Directory 域中的所有成员计算机和域控制器上安装在 2023 年 3 月 14 日或之后发布的 Windows 更新。

有关计算机帐户重用的权限更改的详细信息,请参阅 KB5020276 - Netjoin:域加入强化更改

未安装 Azure 虚拟桌面代理和 Azure 虚拟桌面启动加载器

建议使用 Azure 门户创建模板来预配 VM。 该模板会自动安装 Azure 虚拟桌面代理和 Azure 虚拟桌面代理启动加载器。

请按照以下说明来确认是否已安装组件并检查是否有错误消息。

  1. 通过检查“控制面板”>“程序”>“程序和功能”,确认是否已安装这两个组件 。 如果 Azure 虚拟桌面代理和 Azure 虚拟桌面代理启动加载器不可见,则说明 VM 中未安装它们 。
  2. 打开“文件资源管理器”并导航到 C:\Windows\Temp\ScriptLog.log 。 如果文件缺失,则表示安装了这两个组件的 PowerShell Desired State Configuration (DSC)无法在提供的安全上下文中运行。
  3. 如果文件 C:\Windows\Temp\ScriptLog.log 存在,请打开该文件并检查错误消息。

错误:缺少 Azure 虚拟桌面代理和 Azure 虚拟桌面代理启动加载器。 也缺少 C:\Windows\Temp\ScriptLog.log

原因 1

在输入 Azure 资源管理器 模板期间提供的凭据不正确或权限不足。

解决方法 1

使用 PowerShell 创建主机池将缺少的组件手动添加到 VM。

原因 2

PowerShell DSC 能够启动和执行,但无法完成,因为它无法登录到 Azure 虚拟桌面并获取所需的信息。

解决方法 2

确认以下列表中的项。

  • 请确保该帐户没有 MFA。
  • 确认主机池的名称是否正确,且 Azure 虚拟桌面中是否存在该主机池。
  • 确认帐户对 Azure 订阅或资源组是否至少具有“参与者”权限。

错误:身份验证失败,C:\Windows\Temp\ScriptLog.log 出错

原因

PowerShell DSC 能够执行,但无法连接到 Azure 虚拟桌面。

解决方法

确认以下列表中的项。

  • 手动向 Azure 虚拟桌面服务注册 VM。
  • 确认用于连接到 Azure 虚拟桌面的帐户对 Azure 订阅或资源组具有创建主机池的权限。
  • 确认帐户没有 MFA。

Azure 虚拟桌面代理未向 Azure 虚拟桌面服务注册

首次在会话主机 VM 上安装 Azure 虚拟桌面代理(采用手动方式或通过 Azure 资源管理器模板和 PowerShell DSC)时,它会提供注册令牌。 以下部分介绍适用于 Azure 虚拟桌面代理和令牌的故障排除问题。

错误:Get-AzWvdSessionHost cmdlet 中报告的状态显示状态“不可用”

原因

代理无法将自身更新到新版本。

解决方法

按照以下说明手动更新代理:

  1. 在会话主机 VM 上下载新版本的代理。
  2. 启动任务管理器。 在 “服务 ”选项卡中,停止 RDAgentBootLoader 服务。
  3. 运行 Azure 虚拟桌面代理新版本的安装程序。
  4. 当系统提示输入注册令牌时,请删除INVALID_TOKEN条目,然后按下一步(不需要新令牌)。
  5. 完成安装向导。
  6. 打开任务管理器并启动 RDAgentBootLoader 服务。

错误:Azure 虚拟桌面代理注册表项 IsRegistered 显示值为零

原因

注册令牌已过期。

解决方法

按照以下说明修复代理注册表错误:

  1. 如果已有注册令牌,请使用 < a0/> 将其删除 Remove-AzWvdRegistrationInfo
  2. New-AzWvdRegistrationInfo运行 cmdlet 以生成新令牌。
  3. 确认参数 -ExpirationTime 设置为三天。

错误:运行 Get-AzWvdSessionHost 时,Azure 虚拟桌面代理未报告检测信号

原因 1

RDAgentBootLoader 服务已停止。

解决方法 1

启动任务管理器。 如果“服务”选项卡报告 RDAgentBootLoader 服务的停止状态,请启动该服务。

原因 2

端口 443 可能已关闭。

解决方法 2

按照以下说明打开端口 443:

  1. 通过从 Sysinternal 工具下载 PSPing 工具来确认端口 443 是否打开。

  2. 在运行代理的会话主机 VM 上安装 PSPing。

  3. 以管理员身份打开命令提示符并运行以下命令:

    psping rdbroker.wvdselfhost.microsoft.com:443
    
  4. 确认 PSPing 已从以下项 RDBroker收到信息:

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    TCP connect to <IP Address>:443:
    5 iterations (warmup 1) ping test:
    Connecting to <IP Address>:443 (warmup): from 172.20.17.140:60649: 2.00ms
    Connecting to <IP Address>:443: from 172.20.17.140:60650: 3.83ms
    Connecting to <IP Address>:443: from 172.20.17.140:60652: 2.21ms
    Connecting to <IP Address>:443: from 172.20.17.140:60653: 2.14ms
    Connecting to <IP Address>:443: from 172.20.17.140:60654: 2.12ms
    TCP connect statistics for <IP Address>:443:
    Sent = 4, Received = 4, Lost = 0 (0% loss),
    Minimum = 2.12ms, Maximum = 3.83ms, Average = 2.58ms
    

排查 Azure 虚拟桌面并行堆栈问题

在会话主机池 VM 上安装或启用并行堆栈有三种主要方法:

  • 使用 Azure 门户创建模板
  • 向主映像添加并在其上启用
  • 在每个 VM 上手动(或使用扩展/PowerShell)安装或启用

如果 Azure 虚拟桌面并行堆栈出现问题,请从命令提示符键入 qwinsta 命令,确认并行堆栈是否已安装或启用。

如果已安装并启用并启用并行堆栈,则输出中的输出 qwinsta 将列出 rdp-sxs

在输出中将 qwinsta 列为 rdp-sxs 的并行堆栈或启用的并行堆栈的屏幕截图。

检查列出的注册表项,并确认其值是否匹配。 如果缺少注册表项或值不匹配,请确保运行的是受支持的操作系统。 如果是,请按照将会话主机注册到主机池中有关如何重新安装并行堆栈的说明进行操作。

  • 位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\rds-sxs
    值名称:fEnableWinstation
    值类型:DWORD
    值数据: 1
  • 位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
    值名称:SessionDirectoryListener
    值数据: rdp-sxs

错误:O_REVERSE_CONNECT_STACK_FAILURE

原因

会话主机 VM 上未安装并行堆栈。

解决方法

按照以下说明在会话主机 VM 上安装并行堆栈:

  1. 使用远程桌面协议 (RDP) 以本地管理员身份直接进入会话主机 VM。
  2. 按照将会话主机注册到主机池的步骤安装并行堆栈。

如何修复发生故障的 Azure 虚拟桌面并行堆栈

存在已知会导致并列堆栈发生故障的情况:

  • 未遵循正确的步骤顺序来启用并行堆栈
  • 自动更新到 Windows 10 增强型通用光盘 (EVD)
  • 缺少远程桌面会话主机 (RDSH) 角色

本部分中的说明可帮助卸载 Azure 虚拟桌面并行堆栈。 卸载并排堆栈后,按照步骤将 会话主机注册到主机池 以重新安装并排堆栈。

用于运行修正的 VM 必须与具有故障并行堆栈的 VM 位于同一子网和域中。

按照以下说明从同一子网和域运行修正:

  1. 使用标准远程桌面协议 (RDP) 连接到要应用修补程序的 VM。

  2. 下载并安装 PsExec

  3. 以本地管理员身份启动命令提示符,然后导航到解压缩 PsExec 的文件夹。

  4. 在命令提示符下,使用以下命令,其中 <VMname> VM 的主机名名称与故障并排堆栈一起。 如果这是首次运行 PsExec,则还需要接受 PsExec 许可协议才能继续,方法是选择 “同意”。

    psexec.exe \\<VMname> cmd
    
  5. 在 VM 上打开具有故障并排堆栈的命令提示符会话后,运行以下命令并确认命名 rdp-sxs 的条目可用。 否则,VM 上不存在并行堆栈,因此问题不会绑定到并行堆栈。

    qwinsta
    

    管理员命令提示符的屏幕截图,其中显示了 qwinsta 命令的输出。

  6. 运行以下命令,其将列出具有故障并行堆栈的 VM 上安装的 Microsoft 组件。

    wmic product get name
    
  7. 使用上一步骤中的产品名称运行以下命令,例如:

    wmic product where name="<Remote Desktop Services Infrastructure Agent>" call uninstall
    
  8. 卸载以“远程桌面”开头的所有产品。

  9. 卸载所有 Azure 虚拟桌面组件后,使用 Azure 门户或 PsExec 工具重启具有故障并行堆栈的 VM。 然后,可以按照步骤将会话主机注册到主机池重新安装并排堆栈。

未配置远程桌面许可模式

如果使用管理帐户登录Windows 10 企业版多会话,可能会收到一条通知,指出“未配置远程桌面许可模式,远程桌面服务将在 X 天内停止工作。 请在连接代理服务器中,使用服务器管理器指定远程桌面许可模式。”

如果时间限制过期,将显示以下错误消息:

由于此计算机没有可用的远程桌面客户端访问许可证,远程会话已断开连接。

如果出现上述任一消息,则表示该映像未安装最新的 Windows 更新,或者你正在通过组策略设置远程桌面许可模式。 按照下一部分中的步骤检查组策略设置,确定 Windows 10 企业版多会话的版本,并安装相应的更新。

备注

当主机池包含 Windows Server 会话主机时,Azure 虚拟桌面只需要远程桌面服务(RDS)客户端访问许可证(CAL)。 有关配置 RDS CAL 的详细信息,请参阅 使用客户端访问许可证为 RDS 部署授予许可。

禁用远程桌面许可模式组策略设置

在 VM 中打开组策略编辑器,导航到“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“许可”>“设置远程桌面许可模式”,检查组策略设置 。 如果组策略设置为“启用”,则将其更改为“禁用”。 如果已禁用,则保持选中该选项。

注意

如果通过域设置组策略,则针对 Windows 10 企业版多会话 VM 的策略禁用此设置。

确定正在使用 Windows 10 企业版多会话的哪个版本

若要检查所使用的 Windows 10 企业版多会话的版本,请执行以下操作:

  1. 使用管理员帐户登录。

  2. 在开始菜单旁边的搜索栏中输入“关于”。

  3. 选择“电脑信息”。

  4. 检查版本旁边的数字。 该数字应为 18091903,如下图所示。

    Windows 规范窗口的屏幕截图,其中突出显示了版本号。

了解版本号后,请跳转到相关部分。

版本 1809

如果版本号显示 1809,请安装 KB4516077更新

版本 1903

使用 Azure 库中最新版本的 Windows 10 版本 1903 映像重新部署主机操作系统。

由于安全错误,无法连接到远程电脑

如果用户看到以下错误:

由于出现安全错误,无法连接到远程电脑。 如果这种情况持续发生,请向管理员或技术支持部门寻求帮助。

验证更改默认 RDP 权限的任何现有策略。 可能会出现此错误的一个策略是 “允许通过远程桌面服务 安全策略登录”。

有关此策略的详细信息,请参阅 “允许通过远程桌面服务登录”。

无法部署黄金映像

黄金映像不得包含 Azure 虚拟桌面代理。 只有在部署黄金映像后,才能安装代理。

后续步骤