Ситуация:
Аутентификация выполняется через NAP / Radius с использованием 2FA (многофакторной аутентификации Microsoft).
Подключение с использованием Windows работает нормально, либо через веб-доступ к удаленным рабочим столам в Internet Explorer, пользовательский файл RDP (добавление loadbalanceinfo: s: tsv: // MS Terminal Services Plugin.CollectionName) или через RemoteApp и подключения к рабочему столу. Все в порядке (и моим пользователям нравится гибкость).
Теперь Mac. Используя последнюю версию приложения Microsoft Remote Desktop (https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466)
Вид работы с удаленными ресурсами. Пользователи получают несколько запросов на аутентификацию (для шлюза удаленных рабочих столов и сервера 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, кажется, что это нормально.
Очевидно, эту проблему можно решить, добавив значение DefaultTsvUrl в реестр сервера RDS Broker. Это перенаправляет несовместимых клиентов удаленных рабочих столов в коллекцию по умолчанию.
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: информация неизвестна, она должна поддерживаться.
Кроме того, это не совсем решение, а скорее обходной путь, но пока достаточно хороший.