Windows server 2012 rds cals что это

Windows server 2012 rds cals что это

Доброго времени суток, многоуважаемые инженеры, системные администраторы и просто начинающие пользователи. Рад вас вновь приветствовать на страницах 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, через «Диспетчер серверов». Он его открывает и у него там то же ничего не оказалось, в итоге он побился часок и попросил ему показать. Чтобы знающих людей стало больше и грамотность системных инженеров была больше я вам написал небольшую инструкцию. Не подумайте, что я надменно отнесся к своему коллеге, я просто так же был однажды в на его месте и понимал, что это просто отсутствие опыта, что не смертельно.

Читайте также:  Узнать по ip адресу имя компьютера windows

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

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

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

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

  • Воспользоваться утилитой nslookup
  • Воспользоваться утилитой Resolve-DnsName

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

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

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

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

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

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

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

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

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

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

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

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

Windows Server и клиентские лицензии Per-Device RDS CAL

Недавно, перебираясь на новый сервер лицензирования служб терминалов Remote Desktop Licensing на базе Windows Server 2012 с Windows Server 2008 R2 вспомнил про проблему, описанную в посте форума TechNet трёхлетней давности Terminal Services Licensing Warnings . На старом сервере лицензирования RD Licensing к настоящему моменту был настоящий бардак в смысле отображения имён клиентских компьютеров, получивших лицензии. Виной тому является информация хранящаяся на клиентских компьютерах в ключах реестра:

Читайте также:  Windows 10 guest account

Не хотелось повторять ситуацию с именами клиентов на новом сервере лицензирования, и поэтому было решено немного углубиться в этот вопрос. В процессе изучения вопроса узнал для себя пару полезных утилит, которые на сегодня имеют уже почтенный возраст и найти их можно в пакете Windows Server 2003 Resource Kit Tools

Утилита Terminal Server Client License Test tool (Tsctst.exe) запускается на клиентском компьютере с одним единственным ключом /A и позволяет в читаемом виде получить информацию, хранящуюся в выше указанных ключах реестра.

По каждой хранящейся в реестре лицензии TS/RDS CAL можно увидеть полную информацию о дате получения, сроке действия, сервере лицензирования и типе лицензии (License ID):

A02-5.00-EX — Windows 2000 TS CAL from the “Built-in” pool.
A02-5.00-S — Windows 2000 TS temporary or permanent CAL.
A02-5.02-S — Windows server 2003 TS temporary or permanent CAL.
A02-6.00-S — Windows server 2008 TS/2008 R2 RDS temporary or permanent CAL.

Другая утилита Terminal Services Licensing Reporter (Lsreport.exe) позволяет получить более подробную информацию о выданных клиентских лицензиях с точки зрения самого сервера лицензирования.

Пример команды для построения отчета о всех выданных лицензиях включая информацию о клиентском HardwareID

LSREPORT /W /F C:TempLSReport.txt LICSERVER01

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

Скрипт получает список разрешений на родительский ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing и если в списке отсутствуют разрешения для групп Interactive Users (IU) или BUILTIN Users (BU), то добавляются разрешения для группы интерактивных пользователей, дающие право создания под-ключей и установки значений, после чего происходит рекурсивное удаление всего содержимого указанного ключа реестра.

Скрипт выполняется на клиентских компьютерах в контексте системы (с полным набором прав). Доставку и запуск скрипта на клиентских компьютерах можно спланировать с помощью разных методов и средств, например GPO или SCCM.

После этого, при следующем подключении к терминальным серверам, клиенты заново сгенерируют идентификационную клиентскую информацию и отправят её на сервер лицензирования RDS с новым запросом на получение клиентской лицензии. Разумеется, желательно тщательно спланировать этот процесс, чтобы не получилось так, что в один момент на сервере лицензирования попросту не останется свободных клиентских лицензий, так как каждый клиент будет занимать по две лицензии. Именно поэтому самым удобным моментом для такого “наведения порядка” может стать перевод клиентов с одного сервера лицензирования на другой.

Читайте также:  Windows планшеты android планшеты что лучше

Дополнительные полезные источники информации:

Разбираемся в лицензиях клиентского доступа Microsoft (CAL): какие они бывают и сколько их нужно

В организациях, как правило, используется один или несколько серверов, на которых установлены ОС Windows Server и некоторые сервисы (SQL-сервер для баз данных, Exchange-сервер для почты, календарей и т. д.), которыми пользуются сотрудники. Для того, чтобы использование ИТ-инфраструктуры было законным и, соответственно, не повлекло рисков, необходимо иметь лицензии как для серверов, так и для клиентов.

Что такое клиентская лицензия?

Клиентская лицензия (или CAL — Client Access License) даёт пользователям за их устройствами законное право на доступ к установленному на сервер программному обеспечению Microsoft для серверов — самой Windows, SQL-сервера, Exchange-сервера.

Сама по себе серверная лицензия не предоставляет пользователям и устройствам прав на подключение к серверу. Для этих целей каждый пользователь или устройство должны иметь клиентскую лицензию.

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

Но многие не знают, что корпорация Microsoft больше не поставляет клиентские лицензии (CAL) в составе с операционными системами Windows Server, лицензированными по каналу OEM.

Какие бывают клиентские лицензии и чем они отличаются?

Клиентские лицензии бывают двух типов, и в зависимости от организации работы в компании — используют ли сотрудники несколько устройств или, напротив, за некоторыми устройствами работают поочередно разные люди — можно значительно оптимизировать расходы, выбрав подходящий тип.

Лицензии CAL на пользователя (User CAL)

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

Лицензии CAL на устройство (Device CAL)

Лицензируя доступ по числу устройств, вы покупаете лицензии для каждого устройства, которое обращается к серверу. При этом не важно, сколько пользователей работает с имеющим лицензию устройством. Лицензии CAL на устройство позволяют снизить затраты и упростить администрирование в компаниях, где несколько сотрудников могут использовать одно устройство, например при работе в несколько смен.

Что, если в компании несколько серверов?

В крупной организации может быть сразу несколько серверов. Полезно знать, что наличие CAL-лицензии у пользователя (или устройства) позволяет ему законно работать с любым из них.

Для каких редакций Windows Server нужны клиентские лицензии?

Клиентские лицензии Windows Server 2019 можно использовать и для более ранних версий Windows Server.

Нужны ли CAL-лицензии, если пользователи/устройства не подключаются к серверному ПО Microsoft напрямую?

В компании может использоваться определенный серверный продукт для кадрового управления, бухгалтерского учёта и т. д. с собственной системой лицензирования. Если этот продукт сам по себе обращается к серверному ПО Microsoft — например, SQL Server — то такая схема называется мультиплексированием, и для законного использования нужны CAL-лицензии (в данном примере SQL Server CAL) по числу реальных пользователей/устройств.

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