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

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

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

环境:

具有 AD 林的现有组织。新的单个 Server 2012 运行会话主机的所有远程桌面服务角色。使用新的 2012 向导设置具有以下角色的“QuickSessionCollection”:

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

一切都可以通过自签名证书来实现,但是我们想要阻止这些事情。

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

使用服务器管理器 GUI 向所有角色添加公共 remote.domain.com 证书:

  • RD 连接代理 - 启用单点登录
  • RD 连接代理 - 发布
  • RD Web 访问
  • RD 网关

现在除了最后一步之外,一切都进行得很顺利:

  1. 用户登录https://remote.domain.com
  2. 用户点击应用程序图标,应用程序在后台下载由 remote.domain.com 签名的 .rdp 文件。
  3. .rdp 设置为使用 RD 网关,即 remote.domain.com
  4. .rdp 表示应用程序托管在内部主机.internaldomain.local 上,与 remote.domain.com 的 RDP-tcp TLS 证书不匹配,并弹出警告。

这是我想要修复的最后一步。PowerShell、WMI 或 .config 中是否有配置选项来告诉 RDWeb/RemoteApp 对所有已发布的应用程序使用 remote.domain.com,以便 RDP 的 TLS 证书与会话主机正在使用的证书相匹配?

笔记:这个问题讨论了这个问题, 和这个答案提到了如何修复它在 2008 年就存在了,但是 2012 年 RemoteApp 的 GUI 却不存在了,而且我找不到它的 PowerShell 设置。

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

在此处输入图片描述

答案1

此 PowerShell 有效:告诉会话集合为会话主机连接添加备用地址。这也是您对使用循环机制的会话主机场所做的操作。

一旦我运行这个程序,从 RDWeb 启动应用程序将会给出一个提示,该提示现在与三个设置相匹配,并且没有任何警告:

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

Set-RDSessionCollectionConfiguration –CollectionName QuickSessionCollection -CustomRdpProperty “使用重定向服务器名称: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

答案2

我非常确定您需要一个对内部和外部命名空间都有效的证书。如果您内部有 .local(真讨厌),那么您可能很难在主题或主题备用名称字段中获取带有 .local 的证书。如果您无法从公共提供商处获得证书,那么内部 PKI 设置是您唯一的选择。

答案3

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

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

相关内容