Mac-Osx

Mac 的 RDP 失敗

  • January 24, 2018

情況:

  • 集合中的 4 個 Windows 2016 RDS 伺服器
  • 1 台 Windows 2016 伺服器,用作 RD 網關和連接代理。

使用 2FA(Microsoft 多因素身份驗證)通過 NAP/Radius 完成身份驗證。

使用 Windows 的連接工作得很好,無論是通過 Internet Explorer 中的 RD Web 訪問、自定義 RDP 文件(添加 loadbalanceinfo:s:tsv://MS Terminal Services Plugin.CollectionName)還是通過 RemoteApp 和桌面連接。一切都很好(我的使用者喜歡這種靈活性)。

現在是 Mac。使用最新版本的 Microsoft 遠端桌面應用程序 ( https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466 )

遠端資源類型的作品。使用者會收到多個身份驗證提示(針對 RD 網關和 RDS 伺服器)。

我發現這篇文章 ( https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri ) 用於創建 RDP uri。

rdp://promptcredentialonce=i:1&gatewayusagemethod=i:2&Use%20redirection%20server%20name=i:1&full%20address=s:connectionbroker.contoso.com&gatewayhostname=s:rdgw.contoso.com&loadbalanceinfo=s:tsv%3A%2F%2FMS%20Terminal%20Services%20Plugin.1.CollectionName&screen%20mode%20id=i:2

uri 在 iOS 上執行良好,單次登錄提示,我已連接。這在 Mac 上不起作用,在舊版本的 RDP 客戶端 (v8) 上出現埠重置錯誤,或者在新的 MS RDP 客戶端 (v10) 上出現拒絕訪問錯誤。

為什麼這不能在 Mac 上執行?據我所知,它應該得到支持。並且看到 uri 在 iOS 上執行良好,似乎沒問題。

顯然,這個問題可以通過在 RDS 代理伺服器的系統資料庫中添加 DefaultTsvUrl 值來解決。這會將不兼容的 RD 客戶端重定向到預設集合。

請參閱:https ://blogs.technet.microsoft.com/askperf/2015/06/11/walkthrough-on-session-hint-tsvurl-on-windows-server-2012/

1. Start Registry Editor (Regedit.exe).

2. Locate and then click the following key in the registry:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings

3. On the Edit menu, click Add Value, and then add the following registry value:

Value name: DefaultTsvUrl 
Data type: REG_SZ 
Value data: tsv://<TSVURL>

注意:當您沒有升級客戶端作為選項時,建議將其作為替代/解決方法。它有以下注意事項,人們應該注意:

僅當客戶端無法理解在 RDP 文件中發送的 tsvurl(來自遠端應用程序)並且因此不會將 tsvurl 呈現給連接代理時,才會讀取此資訊。每當這樣的客戶端出現時,DefaultTsvUrl 就會將其發送到系統資料庫值中指定的單個集合。DefaultTsvUrl 只能指向一個集合,因此您可能希望為其中包含所有必需應用程序的不兼容客戶端計劃和創建一個集合。沒有在此系統資料庫中定義多個集合的規定,因此如果您想在多個集合上使用不兼容的客戶端,那麼這是不可能的。如果您更改該集合,您還必須更改 defauDefaultTsvUrl lttsvurl 系統資料庫值。此系統資料庫只是 tsvurls 的一種解決方法,如果客戶端與 remoteapps 本身不兼容,它將不起作用。它僅用於為能夠在 Windows 2008/R2 早期訪問 remoteapps 但無法通過集合訪問它們的客戶端提供一種解決方法,如“更改我們在 2012 年的連接方式 - 會話提示/TSVUrl”一節中所述。

所以這也適用於 Windows 2016。為什麼 Mac 的新 RDP 客戶端似乎忽略了 loadbalanceinfo=s: info is unkown,應該支持。

這也不是一個真正的解決方案,而是一種解決方法,但現在已經足夠了。

引用自:https://serverfault.com/questions/892614