Windows server 2012 rds web access

Windows server 2012 rds web access

Доброго времени суток, многоуважаемые инженеры, системные администраторы и просто начинающие пользователи. Рад вас вновь приветствовать на страницах IT блога Pyatilistnik.org. Если вы мой постоянный читатель, то вы заметили, что я очень часто и много пишу про терминальные сервера и RDS фермы. Сегодня я хочу вам показать, как производится управление RDS фермой Windows Server 2012 и Windows Server 16. Я на сто процентов уверен, что данная информация будет вам полезна, так как я часто видел опытных администраторов, кто не знал как это делается, в виду старых знаний и стереотипов, о данной технологии.

Описание ситуации

Пришел один администратор к нам на работу, пришла заявка, что нужно было для обслуживания вывести из RDS фермы один из узлов подключения, посидев некоторое время и потыкав диспетчер серверов, он не смог выполнить данную задачу, потому что у него было понимание работы терминального сервера, но не фермы.

В чем отличие фермы от терминала

Если посмотреть организацию удаленного доступа в Windows Server 2008 R2, то там схема была простой, где-то в сети устанавливался сервер лицензирования удаленных рабочих столов, а уже на нужно из серверов, куда планировалось подключение, ставилась роль «Службы удаленных рабочих столов». Ему назначались лицензии и пользователь подключался.

Если посмотреть концепцию Windows Server 2012 R2 и старше, то выглядит это уже вот так, есть некое виртуальное имя к которому все подключаются, есть серверная роль «Посредник подключения (RD Connection Broker)«, он берет на себя роль распределения нагрузки и количество сеансов пользователей, на сервера удаленного подключения «RD Session Host«, где уже работаю пользователи. Вся эта конструкция объединяется в некий пул. называемый RDS фермой, где легко создать отказоустойчивость на уровне посредников подключения и легко обслуживать хосты конечного подключения.

Схема управления RDS фермой

Тот сотрудник не совсем понимая схему и видя ее впервые, наивно подумал, что все управление Remote Desktop Services фермой осуществляется через посредника подключения (Connection Broker). Он попытался к нему подключиться, но его послали с формулировкой «Удаленный компьютер «имя», попытка подключения к которому выполняется, перенаправляет вас на удаленный компьютер «имя», он то и не знал, что для подключения к нужному хосту фермы нужно использовать специальные ключи.

Далее показав ему, как происходит подключение к посреднику, он попытался отыскать оснастку управления, так как в Windows Server 2008 R2, была именно такая реализация работы, но он там ничего не нашел. Он подглядел у меня, что я управляю RDS, через «Диспетчер серверов». Он его открывает и у него там то же ничего не оказалось, в итоге он побился часок и попросил ему показать. Чтобы знающих людей стало больше и грамотность системных инженеров была больше я вам написал небольшую инструкцию. Не подумайте, что я надменно отнесся к своему коллеге, я просто так же был однажды в на его месте и понимал, что это просто отсутствие опыта, что не смертельно.

Собираем консоль управления RDS фермой

Для управления настройками Remote Desktop Services вам потребуется клиентская операционная система Windows 8.1 или Windows 10, либо это могут быть Windows Server 2012 R2 и выше. Там нам потребуется оснастка «Диспетчер серверов».

Если вы знаете всех участников RDS фермы, то это хорошо, вы немного себе выиграете времени, если нет, то придется слегка пописать команды и помучить DNS-сервер.

Откройте командную строку или запустите PowerShell оболочку. Предположим у вас виртуальное имя для подключения к удаленному рабочему столу TERM. Тут у вас два варианта:

  • Воспользоваться утилитой nslookup
  • Воспользоваться утилитой Resolve-DnsName
Читайте также:  Linux bash построчное чтение файла

И та и другая выдали вам ip-адреса, в которое разрешается ваше виртуальное имя RDS фермы. В моем примере их два. Эти адреса принадлежат посредникам по подключению (Connection Broker), делаем так же запрос:

Стрелками я выделил полученные DNS имена, самое главное мы получили.

Теперь открывает оснастку «Диспетчер серверов» от имени той учетной записи у которой есть права на администрирование RDS фермы. В открывшейся оснастке выберите пункт «Добавить другие серверы для управления»

У вас откроется окно «Добавление серверов», перейдите на вкладку DNS и в поисковой строке укажите нужное имя брокера и нажмите кнопку с изображением лупы. У вас будет осуществлен поиск по базе Active Directory, если такой сервер есть, то он будет отображен в списке. Переносим его в поле выбрано.

Точно так же поступаем и с остальными посредниками подключений к Remote Desktop Services ферме.

У вас начнется процесс добавление в вашу оснастку дополнительных серверов. Когда закончится добавление, то вы увидите, что у вас появились серверные роли, в нашем случае «Службы удаленных рабочих столов» и обратите внимание на иконку «Все серверы», тут стало их уже два.

Переходим в роль «Службы удаленных рабочих столов», в итоге у вас отобразится список всех участников RDS фермы, и для ее управления вам нужно их всех добавить в данных пул серверов.

В итоге у меня добавились все мои хосты подключения и сервера лицензирования. Как видите стало 20 серверов.

Переходим в «Службы удаленных рабочих столов», в этот раз у вас уже откроется полноценное управление коллекциями RDS. Вы увидите схему работы, вам будет представлен список всех ваших серверов и кто за какую роль отвечает. Переходим в саму коллекцию.

Попав в коллекцию удаленных рабочих столов, у вас будет несколько областей:

  • Свойства — тут вы зададите права доступа, лимиты и многое другое
  • Подключения — тут будут отображены все ваши сеансы пользователей, в моем примере, это всего 338 человек, так как уже не рабочий день, а вечер пятницы, в пиковое время, эта цифра в районе 950 подключений.
  • Удаленные приложения RemoteApp
  • Серверы узлов — тут вы сможете запрещать или разрешать новые подключения

Так же для удобства администрирования серверов, я вам советую создавать отдельные группы по нужным вам признакам и управлять ими, но об этом уже в другой раз. Либо же вы можете создать группу серверов в Remote Desktop Connection Manager.

Смена истекшего пароля через Remote Desktop Web Access в Windows Server 2016 / 2012 R2

В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через RDP-подключение к ферме терминальных серверов Remote Desktop Services (RDS) на Windows Server 2016 / 2012 R2.

В Windows Server 2012 R2 and Windows 8.1 по умолчанию включен механизм аутентификации NLA (Network Level Authentication, подробнее о нем здесь), который не позволяет подключиться по RDP пользователям с истекшим сроком действия пароля (вы, конечно, можете отключить NLA — ссылка1, ссылка2, но это не хорошо с точки зрения безопасности). При попытке подключится к серверу RDSH (Remote Desktop Session Host) с учетной записью пользователя, пароль которого истек, появляется такое сообщение об ошибке:

В Windows Server 2012 /R2 и выше у удаленных пользователей появилась возможность самостоятельно сбрасывать свой пароль (текущий пароль или пароль с истекшим сроком действия) через специальную веб-страницу на сервере RD Web Access. Процесс смены пароля выглядит так: пользователь заходит под своей учетной записью на веб-страницу регистрации на сервере с ролью RD Web Access и с помощью специальной aspx формы меняет свой пароль.

Функционал удаленной смены пароля доступен на сервере с ролью Remote Desktop Web Access (RD Web Access), но по-умолчанию эта функция отключена. Для смены пароля используется сценарий в файле password.aspx, который находится в каталоге C:\Windows\Web\RDWeb\Pages\en-US.

Читайте также:  Видеомастер для mac os

Чтобы включить функцию смены пароля, нужно на сервере с настроенной ролью Remote Desktop Web Access открыть консоль управления веб-сервером IIS (IIS Manager), перейти в раздел [Server Name] –> Sites –> Default Web Site –> RDWeb –> Pages и открыть раздел с настройками приложения (Application Settings).

В правой панели найдите параметр с именем PasswordChangeEnabled и измените его значение на true.

Перезапустите IIS из консоли или с помощью команды IISRESET.

Чтобы проверить доступность страницы смены, перейдите на веб-адрес:

После успешной смены пароля пользователя должно появится сообщение:

Your password has been successfully changed.

Нажмите ОК, и пользователь будет перенаправлена на страницу входа RD Web.

Если пароль пользователя не соответствует парольной политике домена, появится окно с предупреждением:

Теперь при попытке подключиться к веб серверу RD Web Access с истекшим паролем пользователь будет перенаправлен на веб-страницу password.aspx, на которой ему будет предложено сменить пароль.

Вы можете добавить ссылку на страницу с формой смены пароля можно непосредственно в веб-форму входа на сервер RDWeb. Благодаря этому пользователь в любой момент может самостоятельно изменить свой пароль, не дожидаясь окончания его срока действия.

Добавим ссылку на файл password.aspx на страницу входа в систему (создайте копию файла password.aspx перед редактированием).

  1. На сервере RDWeb найдите и откройте в любом тестовом редакторе (я предпочитаю Notepad++) файл C:\Windows\Web\RDWeb\Pages\en-US\login.aspx
  2. Перейдите на 583 строку и вставьте в нее следующий код:
    Password Reset Utility
  3. Сохраните изменения в файле login.aspx, перезапустите сайт IIS и проверьте что на странице регистрации на терминальном сервере появилась ссылка на страницу смены пароля.

Remote Desktop Services 2012 – Отказоустойчивая ферма Remote Connection Broker нового поколения

Если в версиях 2008/R2 использовалась схема Active/Passive для кластеризации службы RD Connection Broker, то в версии Windows Server 2012 схема работы служб RD переработана в корне. И для отказоустойчивой работы службы RD Connection Broker предлагается схема Active/Active.
Если в предыдущих версиях Connection Broker хранил всю информацию о пользовательских сессиях в локальной базе и, для развёртывания отказоустойчивой фермы, нам предлагалось использовать Failover Cluster, то в новой схеме Failover Cluster не используется. RD Connection Broker хранит свои данные в базе данных SQL Server, а клиенты подключаются к серверам RD Connection Broker используя DNS Round Robin.

Среда исполнения

Четыре виртуальных сервера на базе Windows Server 2012 Standard EN. Серверу, выполняющему роль контроллера домена в лесу contoso.com и DNS сервера присвоено имя DC1 и IP адрес 10.0.0.1. Сервер базы данных нашей фермы имеет имя SQL и IP адрес 10.0.0.10. Два сервера с установленной ОС, роли на них будут добавлены в процессе развертывания служб RDS.

Визуально схема будет выглядеть так:

В нашем случае серверы RD1 и RD2 будут являться как Remote Desktop Session Host, так и Remote Desktop Connection Broker.
На сервере SQL будет установлена SQL Server 2012 Standard (так же возможно использование SQL Server 2008 R2 в редакции не ниже Standard).

Предварительные настройки

1. Так как RD Connection Broker использует SQL Server в отказоустойчивой схеме, то сервер RD Connection Broker должен иметь полные привилегии доступа к SQL Server. Создадим в AD группу RDCB Servers, включим в нее наши RD Connection Broker серверы, а после дадим этой группе все привилегии доступа в разделе Security сервера SQL, используя SQL Server Management Studio.

2. Так же изменим параметры Windows Firewall на нашем SQL сервере, что бы он пропускал входящие подключения. Откроем окно командной строки или PowerShell и введем следующее: netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN .

3. Создадим заранее папку для базы данных. Это может быть как локальная папка, так и расшаренная где либо еще. В нашем случае это будет локальная папка C:\Base на сервере SQL.

Читайте также:  Беспроводное сетевое соединение отключено windows 10

4. Установим на каждый сервер, где планируется развертывание RD Connection Broker, Microsoft SQL Server 2012 Native Client. Скачать его можно со страницы Microsoft SQL Server 2012 Feature Pack (http://www.microsoft.com/en-us/download/details.aspx?id=29065). Для SQL Server 2008 R2 клиента можно взять тут (http://www.microsoft.com/en-us/download/details.aspx?id=30440).

5. Создадим имя DNS Round Robin для каждого RD Connection Broker сервера. В нашем случае это будет 2 записи A с именем RD указывающих на IP адреса 10.0.0.3 и 10.0.0.4.

6. Перед тем как создавать нашу ферму, объединим наши будущие RDS сервера в группу. Откроем Manage – Create Server Group, добавим оба сервера в группу и дадим ей название RDS.

Создание отказоустойчивой фермы Remote Desktop Connection Broker

1. Запустите Add Roles and Features Wizard на сервере RD1 и переключите режим установки на Remote Desktop Services installation.

2. Оставьте опцию Standard deployment, так как мы будем делать развертывание на несколько серверов.

3. Выберем Session-based desktop deployment, так как в данной конфигурации мы не рассматриваем ферму VDI.

4. Помимо ролей RD Connection Broker и RD Session Host будет так же установлена роль RD Web Access. Отказаться от нее почему то нельзя. По крайней мере, я не нашел такой возможности.

5. На следующей странице выберем сервер RD1 для установки роли RD Connection Broker.

6. На странице RD Web Access выберем сервер доступа через веб. В нашем случае это будет тот же сервер что и RD Connection Broker. Установим чекбокс Install the RD Web Access role on the RD Connection Broker server и перейдем к следующей странице.

7. Добавим оба сервера в список для установки на них роли RD Session Host на одноименной странице и нажмем Next.

8. На странице подтверждения мы видим предупреждение, что серверы могут быть перезагружены после установки роли RD Session Host. Установим чекбокс Restart the destination server automatically if required и нажмем Deploy.

9. Далее последует установка ролей на серверы, после чего они перезагрузятся и закончат установку всех выбранных ролей.

10. Приступим, собственно, к созданию отказоустойчивой конфигурации RD Connection Broker. Для этого перейдем на вкладку Overview раздела Remote Desktop Services менеджера серверов (Server Manager) и нажмем правой клавишей мыши на изображении RD Connection Broker. Там для нас будет доступна одна функция – Configure High Availability.

11. Запустив данную функцию мы увидим новый визард, на стартовой странице которого будут перечислены необходимые предварительные настройки, которые мы выполнили в полной мере.

12. На вкладке Configure High Availability нам нужно заполнить 3 строки. Database connection string должна выглядеть следующим образом DRIVER=SQL Server Native Client 11.0 (или 10.50 если вы используете SQL Server 2008 R2);SERVER=;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=. В нашем случае введем следующую строку DRIVER=SQL Server Native Client 11.0;SERVER=SQL.contoso.com;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB . В строку Folder to store database files введем путь заранее подготовленной нами папки C:\Base. В строку DNS round robin name введем созданный заранее FQDN нашей точки входа RD.contoso.com.

13. На странице подтверждения еще раз проверим введенные нами данные и нажмем Configure.

14. На странице Progress дождемся окончания конфигурации.

Собственно это все, как мы можем видеть на странице Overview раздела Remote Desktop Services менеджера сервера наш RD Connection Broker работает в режиме High Availability Mode. Можно использовать эту ферму RDS через точку входа RD.contoso.com.

Добавление серверов RD Connection Broker делается через то же самое контекстное меню на странице Overview.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Оцените статью