这可以通过两种方式实现:

方法1:使用WMI

RDS侦听器的配置数据存储在WMI中Root\CimV2\TerminalServices命名空间下的Win32_TSGeneralSetting类中。
RDS侦听器的证书通过该证书的Thumbprint值在名为SSLCertificateSHA1Hash的属性上进行引用。
此指纹值对于每个证书都是唯一的。您可以使用以下步骤找到值:

  • 打开证书的属性对话框,然后选择“详细信息”选项卡。
  • 向下滚动到“指纹”字段,这是证书属性中的证书指纹的外观:
    cer.jpg

注意:要使用的证书,必须在运行上述命令之前导入到计算机帐户的“个人”证书存储中。否则将导致“无效参数”错误。

  • 复制证书里的指纹,管理员运行cmd,输入如下代码:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<刚才获得的Hash>" 
  • 最后重启 TermService 服务, 测试连接即可. 注意连接的 Hostname 必须和证书中的一致。

方法2:编辑注册表

  1. 使用计算机帐户将服务器身份验证证书安装到“个人”证书存储中。
  2. 创建以下包含证书的SHA1哈希值的注册表值,以将该自定义证书配置为支持TLS,而不使用默认的自签名证书。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    值名称:SSLCertificateSHA1Hash
    值类型:REG_BINARY
    值数据:<certificate thumbprint>
    该值应为证书的指纹,以逗号','分隔,并且不能有空格。
  3. 远程桌面主机服务服务在NETWORK SERVICE帐户下运行。因此,有必要将RDS使用的密钥文件的ACL(由SSLCertificateSHA1Hash注册表值中命名的证书引用)设置为包括具有“读取”权限的NETWORK SERVICE
    要修改权限,请执行以下步骤:

    • 单击开始,单击运行,键入mmc ,然后单击确定
    • 文件菜单上,单击添加/删除管理单元
    • 添加或删除管理单元对话框的可用管理单元列表中,单击证书,然后单击添加
    • 证书管理单元对话框中,单击计算机帐户,然后单击下一步
    • 选择计算机对话框中,单击本地计算机:(运行此控制台的计算机) ,然后单击完成
    • 添加或删除管理单元对话框中,单击确定
    • 证书管理单元的控制台树中,展开证书(本地计算机),再展开个人,然后导航到您要使用的SSL证书。
    • 右键单击证书,选择所有任务,然后选择管理私钥
    • 权限对话框中,单击添加, 键入NETWORK SERVICE,单击确定, 在允许复选框下选择读取,然后单击确定
  4. 最后重启 TermService 服务, 测试连接即可. 注意连接的 Hostname 必须和证书中的一致。

参考链接:
Listener Certificate Configurations in Windows Server 2012/2012 R2
使用SSL证书为Windows(非Server)远程桌面RDP连接加密
简单的给远程桌面连接 (Remote Desktop) 配置自定义 SSL 证书