Подключение было запрещено, учетная запись пользователя не имеет прав

Подключение было запрещено, учетная запись пользователя не имеет прав

rdpДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в российском сегменте интернета Pyatilistnik.org. В прошлый раз мы с вами научились находить скрытые папки в Windows, разобрали их применение. Сегодня мы разберем ситуацию, когда у вас не получается подключиться к RDS ферме, получая ошибку "Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему".

Описание инфраструктуры

И так есть RDS ферма построенная на базе Windows Server 2012 R2 и работающая в режиме HA. В какой-то момент пользователи стали обращаться в техническую поддержку, что у них возникла проблема со входом на терминальный стол и сбрасывали скриншот ошибки:

Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему

Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему

Алгоритм решения ошибки подключения к RDS ферме

Первое, что нужно проверить, это наличие нужных прав у пользователей на подключение к вашим хостам RDSH. Для этого откройте консоль управления RDS фермой и перейдите в нужную вам коллекцию. В левом верхнем углу будут свойства коллекции, нажмите кнопку "Задачи - Изменить свойства"

Просмотр свойств доступа в RDS ферме

На вкладке "Группы пользователей" будут перечислены пользователи и группы, для которых вы позволили удаленное подключение к вашим хостам подключений.

Группы доступа к RDS хосту

По сути данные группы будут добавлены на каждом хосте RDCH в локальную группу "Пользователи удаленного рабочего стола". Убедитесь, что на нужных хостах RDSH и RDCB (Брокерах подключений). ваши группы присутствуют. Если их нет то добавьте их в ручную.

Проверка членства в группе пользователи удаленного рабочего стола

Если вы до сих пор получаете ошибку с отсутствием прав на подключение, то тут может быть вариант, как у меня из-за ошибки на DNS сервере. В большинстве случаев при работе с RDS фермой используют балансировку подключений DNS Round-Robin, так как не у всех есть оборудования по типу KEMP. Round-Robin, это поочередное переключение одного DNS имени на разные ip-адреса. За счет этого каждый пользователь уже будет обращаться к следующей записи. В моем случае есть DNS запись, по которой подключаются все пользователи к RDS ферме terminal.root.pyatilistnik.org. Данное DNS имя ссылается на два брокера подключений RDCB01 и RDCB02. В результате этого пользователи поочередно обращаются к разным брокерам. Так же может быть ситуация, что брокеров вообще может не быть и у вас есть две и более A записи ссылающихся на разные ip-адреса ваших хостов с терминальной службой. Проверить, это можно через команду nslookup или командлет Resolve-DnsName.

Зная это, необходимо со стороны клиента проверить во, что разрешается ваше имя терминальной фермы, откройте командную строку и введите:

nslookup terminal

Как видим в моем примере имя terminal ответило, как два хоста с адресами 192.168.31.10 и 192.168.31.1. Теперь сделаем nslookup к данным хостам:

nslookup 192.168.31.1 && nslookup 192.168.31.10

В итоге я увидел, что у одной записи не верное значение, оно ссылается на контроллер домена dc01.root.pyatilistnik.org.

Выявление ошибки подключения к терминальному серверу через nslookup

Как показало дальнейшее разбирательство один из коллег не правильно восстановил удаленные ранее записи. В результате этого, каждый второй пользователь за счет чередования Round-Robin хотел подключиться к контроллеру домена, и логично, что он получал ошибку об отсутствии прав на него.

Тоже самое можно вычислить и с помощью PowerShell, где вам необходимо выполнить:

Resolve-DnsName terminal
Resolve-DnsName 192.168.31.1
Resolve-DnsName 192.168.31.10

Выявление ошибки подключения к терминальному серверу через powershell

В итоге я вернул все в привычное русло, но есть еще два нюанса, это локальный кэш на пользовательских машинах и на самом DNS сервере, который нужно почистить. Первым делом на всех ваших контроллерах домена открываем оснастку DNS и кликаем правой кнопкой мыши по имени вашего сервера. Из контекстного меню выберите пункт "Очистить кэш". Напоминаю, что сделать это нужно на всех контроллерах.

Очистка DNS кэша на контроллерах домена

Так же со стороны пользователя вы можете почистить локальный кэш DNS. После этого у вас должна пропасть ошибка подключения к RDS ферме "Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему" С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *