升级远程桌面服务部署

适用范围:Windows Server 2022、Windows Server 2019 和 Windows Server 2016

本文介绍可以升级的远程桌面服务 (RDS) 版本以及远程桌面 (RD) 角色服务的升级顺序。

支持的装有 RDS 角色的 OS 升级

一次可升级到两个版本的较新版本 Windows Server。 例如,可从 Windows Server 2016 升级到 Windows Server 2022。

部署升级的流程

为尽可能减少停机时间,请使用以下指南:

  1. 应首先升级 RD 连接代理服务器。 如果采用了主动/主动配置,请在部署中保留一个服务器并删除所有其他服务器,然后执行就地升级。 对其余 RD 连接代理服务器执行脱机升级,然后将其重新应用于部署。 在升级 RD 连接代理服务器期间,此部署将不可用。

    注意

    必须升级所有 RD 连接代理服务器。 不支持在混合部署中使用 Windows Server RD 连接代理服务器。 RD 连接代理服务器运行新的 Windows Server 版本后,部署将保持正常运行,即使部署中的其余服务器仍在运行以前的版本也是如此。

  2. 应该先升级 RD 许可证服务器,然后再升级 RD 会话主机服务器。

    注意

    较旧版本 Windows Server 中的 RD 许可证服务器可在较新版本中使用,但它们只能处理较旧版本 Windows Server 中的客户端访问许可证 (CAL)。 而不能使用较新版本 Windows Server 中的 CAL。 有关 RD 许可证服务器的详细信息,请参阅 RDS CAL 版本兼容性

  3. 接下来可以升级 RD 会话主机服务器。 为了避免升级过程中出现停机,可按照下面详述的步骤分批升级服务器。 升级后,所有服务器可正常运行。 按照将远程桌面会话主机升级到 Windows Server 2016 中所述的步骤升级会话主机。

  4. 接下来可以升级 RD 虚拟化主机服务器。 按照将远程桌面虚拟化主机升级到 Windows Server 2016 中所述的步骤升级虚拟化主机。

  5. 随时可以升级 RD Web 访问服务器

    注意

    • 升级 RD Web 可能会重置 Internet Information Services (IIS) 属性(例如任何配置文件)。 为确保更改不会丢失,请记下或复制对 IIS 中的 RD Web 站点所做的自定义设置。
    • 较旧版本 Windows Server 中的 RD Web 访问服务器可在较新版本中使用。
  6. 随时可以升级 RD 网关服务器

    注意

    • Windows Server 2016 及更高版本不包含网络访问保护 (NAP) 策略 - 必须删除这些策略。 删除适当策略的最简单方法是运行升级向导。 如果必须删除某些 NAP 策略,升级过程将会受阻,并在桌面上创建一个包含特定策略的文本文件。 若要管理 NAP 策略,请打开网络策略服务器工具。 删除策略后,请选择安装程序工具中的刷新以继续升级。
    • 较旧版本 Windows Server 中的 RD 网关服务器可在较新版本中使用。

VDI 部署 – 支持的来宾 OS 升级

管理员可使用以下选项来升级 VM 集合:

升级受管理的共享 VM 集合

管理员需要使用所需的 OS 版本创建 VM 模板,并使用它来修补池中的所有 VM。

Windows 10 可修补为 Windows 11。

升级非托管的共享 VM 集合

最终用户无法升级其个人桌面。 应该由管理员执行这种升级。 确切的步骤有待确定。

已知问题

问题:如果 RD 部署已安装 RD Web 访问 (RDWA) 角色,并且已从以前的 Windows 安装升级,则新的升级可能会失败。 例如,如果包含 RDWA 的部署已从 Server 2012 R2 升级到 Server 2019,则再次升级到 Server 2022 可能会失败。

解决方法:在第二次迁移之前,请检查是否存在以下注册表项:HKLM\SOFTWARE\Microsoft\Terminal Server Web Access\IsInstalled

如果不存在,请打开提升的 PowerShell 提示符,然后运行以下命令:

$registryPath = "HKLM:SOFTWARE\Microsoft\Terminal Server Web Access\IsInstalled"
New-Item -Path $registryPath
New-ItemProperty -Path $registryPath -Name Version -PropertyType String -Value "6.0"