RDS、RDWeb 和 RemoteApp:如何使用公共證書在會話主機上啟動應用程序?
問題: 我如何告訴 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 啟動應用程序將給出一個提示,該提示現在匹配三個設置而沒有警告:
- 發布者: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