RDP от Mac не работает

Ситуация:

  • 4 сервера RDS для Windows 2016 в коллекции
  • 1 сервер Windows 2016, который служит в качестве шлюза удаленных рабочих столов и посредника соединений.

Аутентификация выполняется через NAP/Radius с использованием 2FA (многофакторная аутентификация Microsoft).

Соединение с использованием Windows прекрасно работает, либо через веб-доступ к удаленным рабочим столам в Internet Explorer, либо через пользовательский файл RDP (добавление loadbalanceinfo:s:tsv:// Plugin.CollectionName служб терминалов MS), либо через RemoteApp и Desktop Connections. Все хорошо (и моим пользователям нравится гибкость).

Теперь 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) для создания URI RDP.

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, кажется, что все в порядке.

1 ответ

Решение

Очевидно, эту проблему можно решить, добавив значение DefaultTsvUrl в реестр реестра сервера RDS Broker. Это перенаправляет несовместимых клиентов 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>

ПРИМЕЧАНИЕ. Это предлагается в качестве альтернативы / обходного пути, если у вас нет опции обновления клиента. У этого есть следующие предостережения, о которых нужно знать:

Это будет прочитано только тогда, когда клиент не сможет понять tsvurl, отправленный в файле RDP (из удаленного приложения), и, таким образом, не представит tsvurl посреднику соединений. Всякий раз, когда приходит такой клиент, DefaultTsvUrl отправляет его в одну коллекцию, как указано в значении реестра. DefaultTsvUrl может указывать только на одну коллекцию, и поэтому вы можете планировать и создавать одну коллекцию для несовместимых клиентов, в которой есть все необходимые приложения. В этом реестре не предусмотрено определение нескольких коллекций, поэтому, если вы хотите использовать несовместимые клиенты для нескольких коллекций, это будет невозможно. Если вы измените эту коллекцию, вам также придется изменить значение реестра defauDefaultTsvUrl lttsvurl. Этот реестр - только обходной путь для tsvurls и не будет работать, если клиенты не совместимы с удаленными приложениями. Он предназначен только для обходного пути для клиентов, которые ранее имели доступ к удаленным приложениям в Windows 2008/R2, но не могут получить к ним доступ через коллекции, как описано в разделе "Изменение способа подключения в 2012 году - Подсказка сеанса / TSVUrl".

Так что это также работает для Windows 2016. Почему новый RDP-клиент для Mac, похоже, игнорирует loadbalanceinfo = s: info неизвестен, его следует поддерживать.

Кроме того, это не совсем решение, а скорее обходной путь, но пока достаточно хороший.

Другие вопросы по тегам