问题: 我如何告诉 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 网关
现在除了最后一步之外,一切都进行得很顺利:
- 用户登录https://remote.domain.com
- 用户点击应用程序图标,应用程序在后台下载由 remote.domain.com 签名的 .rdp 文件。
- .rdp 设置为使用 RD 网关,即 remote.domain.com
- .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 属性,上述命令可能会有所不同,因为您必须将它们全部包含在一个命令中,并且每个命令之间都有换行符。
背景信息:
使用此设置实现 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