问题: 我如何告诉 RDWeb 从 remote.domain.com 而不是 host.internaldomain.local 启动应用程序?
环境:
具有 AD 森林的现有组织。为会话主机运行所有远程桌面服务角色的新单服务器 2012。使用新的 2012 向导设置带有角色的“QuickSessionCollection”:
- RD 会话主机
- RD 连接代理
- 研发网关
- RD 网络访问
- 研发许可
一切都适用于自签名证书,但我们想阻止这些。
用户可能是非域机器,因此在他们的机器上粘贴私有根证书不是一种选择。解决方案的每个部分都需要使用公共证书。
使用服务器管理器 GUI 为所有角色添加了 public remote.domain.com 证书:
- RD 连接代理 - 启用单点登录
- RD 连接代理 - 发布
- RD 网络访问
- 研发网关
所以现在除了最后一步,一切都很好:
- 用户登录https://remote.domain.com
- 用户单击应用程序图标,该图标在后台下载由 remote.domain.com 签名的 .rdp 文件。
- .rdp 设置为使用 RD 网关,即 remote.domain.com
- .rdp 表示应用托管在内部 host.internaldomain.local 上,与 remote.domain.com 的 RDP-tcp TLS 证书不匹配,并弹出警告。
这是我要修复的最后一步。PowerShell、WMI 或 .config 中是否有配置选项来告诉 RDWeb/RemoteApp 对所有已发布的应用程序使用 remote.domain.com,以便 RDP 的 TLS 证书与会话主机使用的相匹配?
注意:这个问题讨论了这个问题,这个答案提到了你如何在 2008 年修复它,但是对于 RemoteApp,2012 年不存在 GUI,我找不到它的 PowerShell 设置。
注意:这是我需要更改的 2008R2 设置的屏幕截图。它告诉 RemoteApp 会话主机服务器名称使用什么。我如何在 2012 年设置它?
此 PowerShell 有效:告诉会话集合为会话主机连接添加备用地址。这也是您为具有轮询的会话主机场所做的。
运行此程序后,从 RDWeb 启动应用程序将给出一个提示,该提示现在匹配三个设置而没有警告:
根据任何其他自定义 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(糟糕),那么您可能很难在 Subject 或 Subject Alternative Name 字段中获得带有 .local 的证书。如果您无法从公共提供商那里获得证书,那么内部 PKI 设置是您唯一的选择。
如果您没有 UC 证书,则可以使用此 powershell 脚本更新 FQDN 以匹配您的外部主机名/证书名称:
http://gallery.technet.microsoft.com/Change-published-FQDN-for-2a029b80