RDS,RDWeb和RemoteApp:如何使用公共证书在会话主机上启动应用程序?

问:我如何让RDWeb从remote.domain.com而不是host.internaldomain.local启动应用程序?

环境:

现有的与AD森林组织。 为会话主机运行所有远程桌面服务angular色的新单一Server 2012。 使用新的2012向导来设置angular色的“QuickSessionCollection”:

  • RD会话主机
  • RD连接代理
  • RD网关
  • RD Web访问
  • 研发授权

一切与自签名的证书一起工作,但我们想要阻止这些。

用户可能是非域名机器,因此在他们的机器上粘贴私有根证书不是一个选项。 解决scheme的每个部分都需要使用公共证书。

使用服务器pipe理器GUI将公共remote.domain.com证书添加到所有angular色:

  • RD连接代理 – 启用单一login
  • RD连接代理 – 发布
  • RD Web访问
  • RD网关

所以现在除了最后一步以外,一切都很好用:

  1. 用户login到https://remote.domain.com
  2. 用户点击一个应用程序图标,在后台下载一个由remote.domain.com签名的.rdp文件。
  3. .rdp设置为使用RD网关,该网关是remote.domain.com
  4. .rdp表示应用程序驻留在内部host.internaldomain.local中,该内容与remote.domain.com的RDP-tcp TLS证书不匹配,并popup警告。

这是我想要解决的最后一步。 在PowerShell,WMI或.config中是否有configuration选项来告诉RDWeb / RemoteApp将remote.domain.com用于所有发布的应用程序,以便RDP的TLS证书与会话主机使用的内容相匹配?

注意: 这个问题谈到了这个问题 , 这个答案提到了你可能会在2008年修复它,但是在2012年RemoteApp中不存在这个GUI,而且我找不到它的PowerShell设置。

注意:下面是2008R2中需要更改的设置屏幕截图。 它会告诉RemoteApp使用会话主机服务器名称的内容。 我如何在2012年设置?

在这里输入图像说明

此PowerShell工作:告诉会话集合添加会话主机连接的备用地址。 这也是您为会话主机场进行循环赛的做法。

一旦我运行这个,从RDWeb启动应用程序将提供一个单一的提示,现在匹配的三个设置没有警告:

  • 发行人:remote.domain.com
  • 远程计算机:remote.domain.com
  • 网关服务器:remote.domain.com

Set-RDSessionCollectionConfiguration -CollectionName QuickSessionCollection -CustomRdpProperty“使用redirect服务器名称:i:1`n备用完整地址:s:remote.domain.com”

根据任何其他自定义RDP属性,上述命令可能会有所不同,因为您必须将它们全部包含在一个命令中,并且每个命令之间都有一个换行符。

背景信息:

添加自定义RDP设置: http : //social.technet.microsoft.com/wiki/contents/articles/15719.adding-custom-rdp-properties-in-windows-server-2012-vdi-rds-environments.aspx

对HA使用此设置: http : //microsoftplatform.blogspot.com/2012/04/rd-connection-broker-ha-and-rdp.html

我很确定你需要一个有效的内部和外部命名空间的证书。 如果内部有.local,那么在主题或主题备用名称字段中,您可能很难获得带有.local的证书。 如果您不能从公共提供商那里获得证书,那么内部PKI设置是您唯一的select。

如果您没有UC证书,则可以使用此PowerShell脚本更新FQDN以匹配您的外部主机名/证书名称:

http://gallery.technet.microsoft.com/Change-published-FQDN-for-2a029b80