当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

作者:精品下载站 日期:2024-12-14 23:31:53 浏览:18 分类:玩电脑

在 Windows Server 上配置远程桌面服务 (RDS) 场


本指南介绍如何在 Windows Server 上安装、配置和维护基于远程桌面服务 (RDS) 角色的终端服务器场。本文将帮助您在 Active Directory 域中的 Windows Server 2022、2019 或 2016 上部署远程桌面服务。

远程桌面服务 (RDS) 组件架构

Windows Server 中的 RDS 角色包括以下组件:

  • 远程桌面会话主机 (RDSH) - RDS 会话主机。这些是运行用户应用程序的 RDS 场的主要主力;

  • 远程桌面连接代理 (RDCB) - RDS 连接代理。它用于管理 RDS 场、分配工作负载、将用户重新连接到其会话、存储 RDS 集合设置以及发布 RemoteApps;

  • 远程桌面网关 (RDGW) - 提供从 Internet 对 RDS 场的安全访问;

  • RD Web 访问 (RDWA) - 用于访问远程桌面和 RemoteApps 的 Web 界面;

  • 远程桌面许可(RD 许可)— 用于管理 RDS 许可证 (CAL) 的许可服务。

在我们的小型 RDS 部署中,只有三台 Windows Server 主机,具有以下角色:

  • mun-rds1.a-d.site

    — RDSH

  • mun-rds2.a-d.site

    - RDSH

  • mun-rdsman.a-d.site

    - RDSH、RDWA、RDCB 和 RD 许可

在最简单的情况下,您可以部署具有远程桌面会话主机 (RDSH) 角色的独立服务器,而无需连接代理和 RDS Web 访问。

创建 RDS 场的先决条件:

  1. 在所有RDS主机上安装相同版本的Windows Server,并进行配置,并加入AD域;

  2. 打开 ADUC 控制台 (dsa.msc),并将具有 RDSH 角色的所有主机移动到同一 Active Directory OU(组织单位)。因此,使用 GPO 应用 RDS 设置将更加容易;

  3. 为 RDSH 服务器创建 Active Directory 域安全组(例如 mun-rdsh)并将所有主机添加到其中;

  4. 如果要使用用户配置文件磁盘 (UPD) 存储 RDS 用户配置文件(或漫游配置文件),则必须在文件服务器上创建共享网络文件夹(建议将共享文件夹放置在运行 Windows Server 的文件服务器故障转移群集上)。授予 mun-rdsh 组对共享文件夹的完全控制权限。

在 Windows Server 上创建新的 RDS 部署

让我们看看如何使用服务器管理器 GUI 创建和配置 RDS 配置。

打开服务器管理器并将您想要的所有 RDS 服务器添加到控制台。单击所有服务器 -> 添加服务器

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

单击服务器管理器菜单,然后选择添加角色和功能 -> 远程桌面服务安装 -> 标准部署 -> 基于会话的部署

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

快速启动模式用于在单个服务器上部署所有RDS角色。 RDS 场只能有一台服务器运行所有 RDS 角色(RD 会话主机、RD Web 访问和 RD 连接代理)。但是,此配置不提供 Windows Server 远程桌面服务中的容错和工作负载平衡。

然后指定要分配给主机的 RDS 角色。在RDS场创建向导中选择对应角色的服务器。就我而言,我想构建以下 RDS 配置:

  • RD 连接代理 -

     mun-rdsman
  • RD Web 访问

    mun-rdsman
  • RD 会议主持人

    mun-rdsman

    ,

    mun-rds1

    ,

    mun-rds2

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

您可以在任何其他配置的服务器之间分配 RDS 角色。

选中如果需要,自动重新启动目标服务器,然后单击部署。等待 RDS 角色安装在所有服务器上。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

这样,您的 RDS 场就创建好了。

下一步是安装和配置 RDS 许可服务器。您可以在场中的一台服务器上安装RD 许可角色,或使用域中现有的 RDS 许可服务器。查看有关如何安装、配置和激活 RD 许可角色的详细指南。

要管理 RDS 部署,请打开服务器管理器 -> 远程桌面服务。当前 RDS 场配置显示在概述选项卡上。

要更改 RDS 场设置,请在“部署概述”部分中选择任务 -> 编辑部署属性

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

在这里您可以更改:

  • RD 网关设置;

  • 许可服务器地址和 RDS CAL 类型(每用户/每设备);

  • 查看 RD Web 访问 URL;

  • 为 RDS 添加 SSL 证书(我们将在指南中跳过此步骤)。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

您可以通过 RDCB 主机管理场。 RDS 场配置存储在 SQL Server 数据库中。如果需要,您可以手动将 RDS 连接代理角色和配置移动到另一台服务器。

要构建容错远程桌面服务场,您必须为 RD 连接代理角色提供高可用性。这是通过在不同服务器上运行多个 RDCB 实例(主动/主动)以及存储连接代理配置的共享 SQL Server 数据库来实现的。您可以使用 SQL Server Always On 高可用性组来使 RDCB SQL 数据库具有高可用性。早些时候,我们发布了有关如何配置高可用性 RDS 连接代理的详细指南。

在 Windows Server 上创建远程桌面服务集合

下一步是创建 RDS 会话的集合。远程桌面集合允许将 RDS 场中的主机拆分为单独的组,或为不同的用户组创建不同的设置集和可用的远程应用程序。

转到集合并选择编辑 -> 创建会话集合

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

在这里你需要:

  1. 指定 RDS 集合名称:

     rds-Mun-Managers

    ;

  2. 选择哪些RDS主机将为集合用户提供服务(一台RDSH服务器可能属于一个集合,不建议同一集合中存在不同Windows Server版本的主机);

    [玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

  3. 用户组选项卡中,指定允许连接到集合的用户组。从组中删除域用户并添加您的组(

    mun-Managers

    );

  4. 如果要使用 UPD vhdx 文件格式存储用户配置文件,请在用户配置文件磁盘选项卡上选中启用用户配置文件磁盘。在用户配置文件磁盘的位置字段中,指定共享文件夹的 UNC 路径(例如,

    \mun-fs01\munrds_upd

    ),其中将存储 UPD 格式的用户配置文件以及磁盘的最大大小(默认为 20 GB)。使用 UPD 时,如果用户登录任何 RDS 采集主机,将始终加载该用户的共享配置文件;

    [玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

    在本文中了解有关 Windows Server RDS 中的用户配置文件磁盘的更多信息。

  5. 点击创建,创建一个新的RDS集合;

  6. 确保在指定目录中创建带有用户配置文件模板的 UPD 文件 (UVHD-template.vhdx)。

要配置 RDS 集合设置,请选择该集合并单击任务 -> 编辑属性

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

您可以在此处更改基本集合选项(名称、描述、访问组)和一些其他设置。

会话选项卡上,您可以为非活动(空闲)RDP 会话配置重新连接/自动断开连接选项(了解更多如何配置 RDP 会话超时)。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

安全选项卡中,您可以为 RDP 会话选择安全性(协商、RDP 安全级别或 SSL/TLS)和加密(低、高、客户端兼容或 FIPS 兼容)设置。您可以在此处启用/禁用 RDP 的网络级身份验证 (NLA)。

以下是如何设置 SSL/TLS 证书来保护 RDP 连接。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

负载平衡选项卡中,您可以更改场中的 RDS 主机相对权重。如果集合中的服务器特征(RAM、CPU)差异很大,则需要为性能较低的主机设置较低的权重。之后,RDCB 将根据权重在 RDS 主机之间分配用户会话。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

通过“客户端设置”选项卡,您可以指定允许用户重定向到其 RDP 会话的本地设备。例如,您可以启用或禁用打印机、驱动器、音频设备或剪贴板从本地用户计算机到 RDS 会话的重定向。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

用户配置文件磁盘选项卡中,您可以微调 UPD 设置。您可以从同步中排除某些文件夹或文件。它允许减少共享网络文件夹中的 UPD 配置文件大小,并使配置文件加载速度更快(请记住,当用户登录时,它是通过网络从共享文件夹加载的)。

配置和使用 UPD 比漫游配置文件或文件夹重定向更容易。您不能在多个 RDS 集合中使用相同的 UPD 配置文件。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

要减少用户 UPD 磁盘的大小,您可以使用内置的 PowerShell cmdlet

Resize-VHD

,用于调整 Hyper-V 虚拟 VHDX 磁盘的大小。

您可以通过 RDS 集合的 HOST SERVERS 部分将任何 RDSH 服务器置于维护模式(RDS Drain 模式)。为此,请单击服务器并选择不允许新连接。然后连接代理将不会向 RD 主机发送新的用户会话。在此模式下,您可以在服务器上安装 Windows 更新或更新应用程序,而不会影响用户。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

您还可以在此处从集合中添加/删除 RDS 主机。

如果 RD 会话主机服务器出现故障,您可以按照本指南正确地将其从远程桌面服务部署中删除。

如何在远程桌面服务中发布RemoteApp?

RemoteApps 是为 RDS 服务器上的用户发布的程序。借助 RemoteApps,您可以使用安装在终端 RDSH 服务器上的应用程序,就像它们在本地用户计算机上运行一样。用户看不到整个 Windows Server RDS 桌面,只能使用管理员为其发布的应用程序。用户计算机上只会显示 RDS 上运行的程序的窗口。

如果您不创建 RemoteApps,用户将直接在 Windows Server 桌面上工作。因此,请记住将用户可能需要的应用程序快捷方式复制到C:\Users\Public\Desktop。该文件夹中的文件将显示在所有用户的桌面上。如果要在 RDSH 上安装 MS Office 365,请注意 Office 必须以 SharedComputerLicensing 模式部署。

RemoteApps 在 RDS 集合设置中创建。在 REMOTEAPP 程序部分中选择任务 -> 发布 RemoteApp 程序

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

Windows 将列出当前 RD 主机上安装的所有应用程序。您可以选择其中之一。如果列表中没有您需要的应用程序,但它安装在其他 RDS 主机上,请单击添加并指定应用程序可执行文件(exe、bat、cmd 等)的完整路径。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

发布远程应用程序。

然后,您可以在 RemoteApp 设置中指定其他应用程序选项。

  • 是否要在 RD Web 访问 Web 界面中显示已发布的 RemoteApp;

  • 设置应用程序的启动选项(参数)(命令行参数 -> 始终使用以下命令行参数);

  • 用户分配选项卡上,您还可以设置用户或组是否可以运行应用程序的限制。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

如果要更改已发布 RemoteApp 的图标,请使用 RDS 连接代理角色在服务器上打开以下文件夹:

C:\Windows\RemotePackages\CPubFarms\rds-Mun-Managers\CPubRemoteApps

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

将应用程序图标替换为另一个 ICO 文件。

然后,用户可以从 RD Web 访问运行 RemoteApp 程序(

https://mun-rdsman.a-d.site/RDWeb

)或使用特殊的 *.RDP 文件。

[玩转系统] 在 Windows Server 上配置远程桌面服务 (RDS) 场

您可以使用 SSO(单点登录)在 RDS Web 访问上配置透明身份验证。

要运行已发布的 RemoteApp 程序,您需要将以下行添加到 RDP 文件中:

remoteapplicationmode:i:1
remoteapplicationname:s:putty
remoteapplicationprogram:s:"C:\Tools\putty.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

方便使用 RDS 服务器场的一些有用提示:

  • 您可以为 RDWeb 访问角色配置 HTML5 支持。它允许用户使用任何浏览器或操作系统连接到 RDS 服务器,即使没有 RDP 客户端;

  • 在 RD Web 访问服务器上,您可以发布链接来更改过期的用户密码(默认情况下,如果启用 NLA,您将无法使用过期的 Active Directory 用户密码在 RDSH 上进行身份验证);

  • 有关如何更改 RDP 会话中的密码的用户指南;

  • 管理员可以使用 RD Session Shadow 连接来连接/查看 RDS 服务器上用户会话的桌面;

  • 要快速查找哪些 RDS 服务器具有特定用户的会话,您可以使用 PowerShell:

    Import-Module RemoteDesktop
    Get-RDUserSession -ConnectionBroker mun-rdsman.a-d.site | where {$_.UserName -eq "a.muller"} | Select HostServer
  • 您可以使用PowerShell脚本查看RDP连接日志;

  • 为了提供额外的安全性,您可以使用第三方工具为 Windows RDS 主机上的用户启用双因素身份验证 (2FA)。

如何使用PowerShell部署远程桌面服务场?

如果您清楚地看到 RDS 场的结构,则可以使用 PowerShell 快速部署 RDS 配置。

最好运行以下 PowerShell 命令在另一台服务器上创建 RDS 场,因为您必须重新启动托管 RDS 主机。

设置 RDS 场中的服务器名称。在此示例中,我将在不同的服务器上安装 RDCB 和 RDS 许可角色(稍后建议启用高可用的 RDCB 配置)。

$RDSH1 = "mun-rds1.a-d.site"
$RDSH2 = "mun-rds2.a-d.site"
$RDSCB = "mun-rdcb.a-d.site"
$RDSGW = "mun-rdsgw.a-d.site"
Import-Module RemoteDesktop

在服务器上安装 RDS 角色:

Add-WindowsFeature -ComputerName $RDSH1, $RDSH2 -Name RDS-RD-Server -IncludeManagementTools
Add-WindowsFeature -ComputerName $RDSCB -Name RDS-Connection-Broker -IncludeManagementTools
Add-WindowsFeature -ComputerName $RDSGW -Name RDS-Web-Access, RDS-Gateway -IncludeManagementTools

重启所有主机:

Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW

创建一个新的 RDSessionDeployment 实例:

New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 -Verbose

将 RDWA 和 RDGW 服务器添加到您的场:

Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.a-d.site"

您可以列出场中的 RDS 角色和主机名:

Get-RDServer -ConnectionBroker $RDSGW

使用 Add-WindowsFeatures cmdlet 安装 RDS 许可角色:

Add-WindowsFeature -ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI

设置 PerUser RDS 许可模式:

Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}
Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB

使用 Add-ADGroupMember 将许可服务器添加到域安全组:

Add-ADGroupMember "Terminal Server License Servers" -Members "mun-rdcb$"

如果您有 RDS 的证书,则可以将其添加到场配置中(您可以为 RDS 主机使用免费的 Let’s Encrypt SSL 证书):

$Path = "C:\ps\RDSCert.pfx"
$Password = ConvertTo-SecureString -String "setCertificPAssw00rd11-" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force

要获取有关已安装的 SSL 证书的信息:

Get-RDCertificate

然后您可以创建 RDS 集合:

$CollectionName = "ITdept"
New-RDSessionCollection -CollectionName $CollectionName -SessionHost $RDSH1,$RDSH2 -ConnectionBroker $RDSCB -CollectionDescription “IT department management collection”

要允许组访问 RDS 服务器:

$UserGroup =@("WOSHUB\mun-admins","WOSHUB\mun-devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

发布 RemoteApp 程序:

New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB

在本文中,我们介绍了如何使用服务器管理器图形界面和 PowerShell 在 Windows Server 2019/2022 上安装和配置远程桌面服务场。此处不描述 RD Web 访问和 RD 网关角色。我们将在以后的文章中展示如何配置这些角色。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯