*Cube-Host – 完整的雲端服務!

如何连接和配置远程桌面服务(RDS)

How to connect and configure Remote Desktop Services (RDS)

什么是RDS以及需要哪些角色?

远程桌面服务是一组Windows Server角色,允许在服务器主机(RD会话主机)上发布完整的桌面和应用程序(RemoteApp),通过RD连接代理实现会话平衡和重新连接,并可选配RD Web Access门户网站、外部RD网关以及独立的RD许可服务(用户/设备CAL)。

最低配置(示例):

  • 2× RD会话主机(会话主机)
  • 1× 具有RD连接代理+RD Web访问+RD许可角色的管理员(试点项目中可将角色合并至单台服务器)

AD环境准备:

  • 所有服务器加入单一域并归入组织单元
  • 创建组(例如rdsh-servers),将所有RDSH服务器加入该组。
  • 为用户网络配置文件准备用户配置文件驱动器(UPD)共享目录(可选)。

通过服务器管理器安装RDS(标准部署)

打开服务器管理器,将所有服务器添加至组(所有服务器→添加服务器):

1 windows VPS

启动向导:添加功能和特性 → 安装远程桌面服务 → 标准部署 → 基于会话的部署

2 windows VPS

按服务器分配角色(示例如下:管理员节点分配RDCB+RDWA角色,所有节点分配RDSH角色):

3 windows VPS

确认并等待可用:

安装完成后,打开服务器管理器 → 远程桌面服务 → 预览

5 windows VPS

在「任务 → 修改部署属性」中,请指定以下内容:

  • 许可证服务器RDS CAL模式(按用户或按设备);
  • RD Web访问的URL;
  • (后续)为RDGW/RDWeb/发布/重定向器配置SSL证书

对于孤立场景(无中介/网络,单一主机),请参阅“独立 RDSH”(在工作组中工作)选项。

创建会话集合并连接用户

转到远程桌面服务→集合→任务→创建会话集合:

6 windows VPS

将远程桌面会话主机添加到集合中:

7 windows VPS

指定用户组(删除域用户,添加您自己的用户,例如RDS用户),并根据需要启用用户配置文件磁盘。然后点击创建

要修改参数,请打开集合属性(任务 → 修改属性):

8 windows VPS

RemoteApp 应用程序也发布在此处,并在此处定义会话限制(活动/断开会话的超时时间)。您将在此处找到关于超时设置的清晰说明,并配有示意图。

RDS 角色的证书和 HTTPS(概述)

为消除不安全连接警告并启用单点登录(SSO),请为以下角色分配相应的 SSL 证书

  • RD 网关RD Web 访问RD 发布RD 重定向器

通过 PowerShell 操作(示例:单 PFX 文件及中间证书 $RDSCB):

				
					$RDSCB = "msk-rdsman.contoso.local"
$Path  = "C:\certs\rds-cert.pfx"
$Pwd   = ConvertTo-SecureString "StrongPfxPassword!" -AsPlainText -Force

Set-RDCertificate -Role RDGateway    -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess  -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force

Get-RDCertificate
				
			

通过RD Gateway(需单独购买,附有详细说明)进行的外部访问在不使用VPN的情况下更为安全。

许可证(RDS CAL)

安装“远程桌面许可”功能(可在代理服务器上操作),激活许可服务器,并在部署配置中指定该服务器的地址及许可模式(按用户/按设备)。参数设置路径为“修改部署属性”→“RD许可”。

请注意以下限制:未安装 RDS 的标准 Windows 服务器仅提供 2 个管理 RDP 连接;完整用户会话需要 RDS CAL 许可证。

应用程序部署(RemoteApp)与访问

在集合属性中部署应用程序(RemoteApp 程序 → 发布)或通过 PowerShell 部署:

				
					New-RDRemoteApp -Alias "Chrome" -DisplayName "Google Chrome" `
  -FilePath "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  -ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
				
			

用户可通过多种方式连接:

  • RD Web Access(网页门户)、
  • .rdp/RemoteApp 直接访问
  • 或直接通过服务器群集的完全限定域名(需配置代理程序和DNS条目)。

使用 PowerShell 快速部署 RDS 服务器群集(从零开始)

以下为简化示例:创建集合、分配组、发布 RemoteApp。(可通过图形界面按前述方式部署功能,或根据规范自动化该流程)。

				
					$RDSCB = "msk-rdsman.contoso.local"
$RDSH1 = "msk-rds1.contoso.local"
$RDSH2 = "msk-rds2.contoso.local"

# Collection
New-RDSessionCollection `
  -CollectionName "General" `
  -SessionHost $RDSH1,$RDSH2 `
  -ConnectionBroker $RDSCB `
  -CollectionDescription "General users"

# Access
$Groups = @("CONTOSO\RDS-Users","CONTOSO\ServiceDesk")
Set-RDSessionCollectionConfiguration -CollectionName "General" -UserGroup $Groups

# App publication
New-RDRemoteApp -Alias "WordPad" -DisplayName "WordPad" `
  -FilePath "C:\Program Files\Windows NT\Accessories\wordpad.exe" `
  -ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
				
			

网络、防火墙与诊断

Windows防火墙Windows VPS供应商的外部访问控制列表(ACL)中打开以下端口:

  • RD Web:443/TCP
  • RD网关:443/TCP
  • 通过中介连接RDSH的RDP:3389/TCP(+ 3389/UDP以获得更佳图形效果)
  • 根据您的架构,在服务器之间建立中介/SQL连接

客户端快速控制:

				
					Test-NetConnection rds.contoso.ru -Port 443   # RDWeb/RDGW
Test-NetConnection rds.contoso.ru -Port 3389  # RDP (if you publish directly)
				
			

关于UDP RDP传输过程中的“冻结”/黑屏现象存在另一番讨论。

常见问题与快速解决方案

  • 用户未被纳入集合。请确认用户是否属于正确的集合访问组(不仅限于域用户)。
  • 代理不可见/重新连接错误。请检查农场DNS条目、代理数据库可用性及相关端口;若需代理高可用性,请检查SQL中的Always On状态。
  • 会话无法结束/卡死。在集合的“会话”选项卡中为活动/断开会话设置时限(超时时间)。

需要安全外部访问。部署RD网关(HTTPS、访问策略、证书)。