Windows server 2019 нет узел сеансов удаленных рабочих столов

Windows server 2019 нет узел сеансов удаленных рабочих столов

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами научились отключать software reporter tool в Chrome Браузере, так как этот компонент уж очень сильно мог загружать центральный процессор вашего компьютера или ноутбука. В сегодняшней публикации я хочу поговорить про ошибки лицензирования терминальных столов и RDSH узлов в RDS ферме с которыми может встретиться любой системный администратор в своей практике. Мы рассмотрим ошибку «Этому серверу узла сеансов удаленных рабочих столов недоступны лицензии«.

Проблемы при лицензировании терминальных серверов

Ситуация такая, ранее я развернул новую терминальную ферму Remote Desktop Services High Availability на базе Windows Server 2019 с определенным количеством RDSH хостов. Решил через месяц добавить еще несколько сервер подключений и после ввода их в состав RDS фермы и подключившись на каждый из них я увидел ошибку получения лицензий в виде формулировки:

Самое интересное, что у меня при разворачивании RDS фермы был добавлен сервер лицензирования, который мы специально устанавливали под Windows Server 2019. Давайте разбираться в чем дело.

Диагностика и устранение проблем с лицензированием служб удаленных рабочих столов

Если у вас проблема с лицензированием RDSH хостов, то первым делом вы должны проверить ваши настройки RDS фермы через оснастку управления. В списке «Deployment Server» убедитесь, что у вас добавлены нужные сервера лицензирования RDS и нет лишних. В моем примере было добавлено три сервера лицензирования Remote Desktop Services. Один из них был точно с нужными лицензиями, а вот остальные были под вопросом.

Зайдите на каждый из серверов, который предоставляет лицензии и проверьте, что для нужной операционной системы у вас есть лицензии. Делается это через оснастку «Средство диагностики и лицензирования удаленных рабочих столов (RD License Manager)«. Как оказалось на одном из серверов вообще не было лицензий на Windows Server 2019, а на втором их было 0. Исходя из этого, данные сервера нужно удалить из RDS развертывания.

Для удаления выбираем «Задачи (Tasks) — Remove RD Licensing Servers«.

Выделяем нужные сервера и переносим их в правую область, я специально не стал удалять саму роль лицензирования (Uninstall the RD Licensing role service from the selected server), так как они раздавали лицензии для других версий Windows.

Если тут все привели в порядок, то следующим шагом вам необходимо подключиться к нужному участнику RDS фермы, где есть проблемы с получением лицензий и так же проверить, что выдает вам оснастка «Средство диагностики и лицензирования удаленных рабочих столов (RD License Manager)«. Тут вы можете встретить несколько разновидностей ошибок:

Льготный период использования сервера узла сеансов удаленных рабочих столов еще не истек, но этот сервер не настроен на использование хотя бы одного сервера лицензирования. В английской редакции будет вот такая формулировка «Licensing mode for the Remote Desktop Session Host is not configured. Remote Desktop Service will stop working in 100 days. Remote Desktop Services will stop working because this computer is past grace period and has not contacted at least a valid Windows Server 2019 license server. Click this message to open RD Session Host Server Configuration to use Licensing Diagnosis.»

Читайте также:  Обновление для windows kb3102810

В данном примере не видно ни одного сервера раздающего лицензии.

Сервер узла сеансов удаленных рабочих столов находится в режиме лицензирования для пользователя и режиме перенаправителя Нет, но на сервере лицензирования не установлено лицензий со следующими атрибутами «Версия продукта Windows Server 1016 — 2019»

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

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

Напоминаю, что это делается при редактировании GPO политики в ветке

Та же ветка будет участвовать в настройке локальных политик, если это необходимо, вызвать их можно через окно выполнить, введя там gpedit.msc.

Так же задайте тут сразу режим лицензирования для всей RDS фермы, через настройку:

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

Удаление старых серверов лицензирования через реестр

Может получиться ситуация, что у вас сервера лицензирования были добавлены не через политику, как того требует инфраструктура Active Directory, а через реестр, либо может быть ситуация, что в реестре остались мусорные записи, которые политикой не получается перезаписать. В таких ситуациях вам необходимо самостоятельно проверить вот эту ветку реестра. Запустите окно выполнить и введите в нем regedit, чтобы открыть редактор реестра.

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

Еще можете проверить вот такую ветку реестра:

Тут то же может быть ключ LicenseServers.

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

Тут будет ключ реестра LicensingMode, который может содержать три значения:

  • 2 — Задает режим лицензирования на устройство
  • 4 — Задает режим лицензирования на пользователя
  • 5 — Режим лицензирования не настроен

Как настроить сервер лицензирования удаленных рабочих столов на узле сеанса удаленных рабочих столов через PowerShell

Так же вы можете управлять и просматривать значения настроек сервера лицензирования RDS через оболочку PowerShell, для этого вы можете воспользоваться вот такими командлетами.

  • Проверка настроен ли сервер лицензирования

  • Задать нужный сервер лицензий через PowerShell

В процессе выполнения вы можете получить ошибку:

С большой вероятностью у вас уже задана настройка через групповую политику, поэтому идет такой конфликт. Тут либо отключать политику через gpedit.msc или менять значение в самой политике. Речь идет о данной ветке «Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Лицензирование — Использовать указанные серверы лицензирования удаленных рабочих столов (Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Licensing)«

Читайте также:  Tenorshare windows boot genius

Так же убедитесь, что вы выполняете команду в режиме администратора и имея административные права на данном сервере.

  • Проверка режима лицензирования через PowerShell

  • Смена режима лицензирования через PowerShell

Windows server 2019 нет узел сеансов удаленных рабочих столов

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами разобрались, что такое SSL сертификат, где и как их применяют и какие они бывают. Движемся дальше, в сегодняшней публикации я бы хотел вам рассказать, как вы можете вернуть и запускать в Windows Server 2019 оснастки Tsconfig.msc «Конфигурация узла сеансов удаленных рабочих столов (Remote Desctop Session Host Configuration)» и Tsadmin.msc «Диспетчер служб удаленных рабочих столов» (Remote Desktop Services Manager). Напомню их варианты использования, так как не все застали времена терминальных серверов на Windows Server 2008 R2.

Для чего нужны оснастки Tsconfig.msc и Tsadmin.msc

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

В случае с терминальными службами ситуация двоякая, с одной стороны Microsot сделала удобную общую оснастку в диспетчере серверов, а с другой лишила пользователей ряда оснасток и графических функция, которые они предоставляли. Microsoft по известной только им причине убрали оснастки из состава инструментов RDS фермы:

  • Tsconfig.msc «Конфигурация узла сеансов удаленных рабочих столов (Remote Desctop Session Host Configuration)» — это оснастка позволяющая вам задавать список серверов лицензирования RDSH хоста, производить настройку уровней безопасности RDP, управлять настройками сеансов, параметрами схода на RDP, параметрами клиента, запрещая или разрешая перенаправление устройств и многое другое. Напоминаю, что благодаря это оснастки я смог настроить права входа на изолированный терминальный стол созданный для подрядчиков. Вот так выглядела эта оснастка, уверен, что начинающие системные администраторы ее даже и не видели.

  • Tsadmin.msc «Диспетчер служб удаленных рабочих столов» (Remote Desktop Services Manager) — это оснастка для взаимодействия и управления сессиями пользователей удаленного рабочего стола. Например вы можете удаленно завершить любой процесс пользователя, его разлогинить с терминального сервера, так же можете массово отправить сообщение пользователям RDP, в версиях Windows Server 2012 R2 и выше для этого мы использовали PowerShell, чтобы их оповестить. Сама оснастка выглядит вот так. Так же я бы советовал обратить внимание на утилиту Terminal Services Manager, она бесплатна и может выполнить все, что делает оснастка Tsadmin.msc. Эту утилиту как и делали энтузиасты для боле старших версий операционной системы Windows Server.

Алгоритм запуска TSADMIN.msc и TSCONFIG.msc в Windows Server 2019

Хорошо, что Microsoft не закрыла возможность регистрации и запуска оснасток TSADMIN.msc и TSCONFIG.msc в Windows Server 2012 R2 и выше. Хочу отметить, что данный метод не является официальным, но использовать его все же можно на свой страх и риск.

Суть метода заключается в том, что вам необходимо скопировать определенные библиотеки и сами оснастки Tsconfig.msc и Tsadmin.msc из Windows Server 2008 R2 или скачать их у меня если у вас нет уже в инфраструктуре таких серверов. так же необходимо для них прописать ключи реестра и права на них, это делается через выгрузку веток с 2008 R2 системы или скриптом, оба метода я покажу.

Если вы все скачали у меня, то состав архивов будет такой:

Если у вас есть своя Windows Server 2008 R2 (даже если ее нет вы можете быстро развернуть виртуальную машину), то вам необходимо скопировать вот такой список файлов из каталога C:\Windows\System32

  • c:\windows\system32\tsconfig.msc
  • c:\windows\system32\tsadmin.msc
  • c:\windows\system32\tsadmin.dll
  • c:\windows\system32\tsconfig.dll
  • c:\windows\system32\wts.dll
Читайте также:  Loader для windows life

А так же языковые файлы они располагаются по пути C:\Windows\System32\ru или C:\Windows\System32\en в зависимости от языка в системе. В моем примере русская версия поэтому я буду копировать файлы для русской версии. Из каталога мне необходимо скопировать

Следующим действием вам необходимо выгрузить две ветки реестра, если не хотите это делать, то их можно создать самому из кода, который я представлю ниже. Запустите редактор реестра Windows из окна выполнить, введя regedit.

Вам нужно найти вот такие ветки реестра и произвести их экспорт:

Выбираем место сохранения ваших reg файлов. На выходе у вас будет два файла вот с таким содержимым, для оснастки tsconfig (80aaa290-abd9-9239-7a2d-cf4f67e42128)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MMC\SnapIns\FX:<80aaa290-abd9-9239-7a2d-cf4f67e42128>]
«ApplicationBase»=hex (2):43,00,3a,00,5c,00, 57,00,69,00,6e,00,64,00,6f,00,77,00,\
73,00,5c,00,53,00,79,00,73,00,74,00,65,00, 6d,00,33,00,32,00,00,00
«About»=»<00000000-0000-0000-0000-000000000000>»
«VersionStringIndirect»=»@C:\\Windows\\System32\\umcRes.dll,-107»
«ProviderStringIndirect»=hex (2) :40,00,43,00,3a, 00,5c,00,57,00,69,00,6e,00,64,\
00,6f,00,77,00,73,00,5c,00,53,00,79,00, 73,00,74,00, 65,00,6d,00,33,00,32,00,\
5c,00,75,00,6d,00,63,00,52,00,65,00,73,00, 2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
«SmallFolderBitmapIndirect»=hex(2) :40,00,43,00, 3a,00,5c,00,57,00,69,00,6e,00,\
64,00,6f,00,77,00,73,00,5c,00,53,00,79, 00,73,00,74,00, 65,00,6d,00,33,00,32,\
00,5c,00,75,00,6d,00,63,00,52,00,65,00,73,00, 2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,32,00,30,00,00,00
«NameString»=»Remote Desktop Session Host Configuration»
«HelpTopic»=hex(2):25,00,73,00,79,00,73,00,74,00,65, 00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,68,00,65,00,6c,00,70, 00,5c,00,74,00,73,00,63,00,63,00,2e,\
00,63,00,68,00,6d,00,00,00
«AssemblyName»=»tsconfig»
«RuntimeVersion»=»v2.0.50215»
«Description»=»Configure Remote Desktop Session Host settings»
«DescriptionStringIndirect»=hex (2) :40,00,43,00,3a, 00,5c,00,57,00,69,00,6e,00,\
64,00,6f,00,77,00,73,00,5c,00,53,00,79, 00,73,00,74, 00,65,00,6d,00,33,00,32,\
00,5c,00,75,00,6d,00,63,00,52,00,65,00,73,00,2e, 00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,30,00,31,00,00,00
«LinkedHelpTopics»=»%systemroot%\\help\\tscc.chm»
«NameStringIndirect»=hex (2) :40,00,43,00,3a,00, 5c,00,57,00,69,00,6e,00,64,00,6f,\
00,77,00,73,00,5c,00,53,00,79,00,73,00, 74,00,65, 00,6d,00,33,00,32,00,5c,00,\
75,00,6d,00,63,00,52,00,65,00,73,00,2e,00,64, 00,6c,00,6c,00,2c,00,2d,00,31,\
00,30,00,30,00,00,00
«IconIndirect»=hex(2):40,00,43,00,3a,00, 5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\
00,73,00,5c,00,53,00,79,00,73,00,74,00, 65,00,6d,00,33,00,32,00,5c,00,75,00,\
6d,00,63,00,52,00,65,00,73,00,2e,00,64, 00,6c,00,6c,00,2c,00,2d,00,31,00,31,\
00,30,00,00,00
«FxVersion»=»2.0.1.7»
«Type»=»Microsoft.TerminalServices.Configuration. SnapIn.TSConfigSnapIn, tsconfig, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35»
«FolderBitmapsColorMask»=dword:00000000
«ModuleName»=»tsconfig.dll»
«Provider»=»Microsoft Corporation»

для оснастки Tsadmin.msc (80aaa290-abd9-9239-7a2d-cf4f67e42128)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MMC\SnapIns\FX:<80aaa290-abd9-9239-7a2d-cf4f67e42128>]
«ApplicationBase»=hex(2):43,00,3a,00,5c,00,57, 00,69,00,6e,00,64,00,6f,00,77,00,\
73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,00,00
«About»=»<00000000-0000-0000-0000-000000000000>»
«VersionStringIndirect»=»@C:\\Windows\\System32\\umcRes.dll,-107»
«ProviderStringIndirect»=hex (2):40,00,43,00, 3a,00,5c,00,57,00,69,00,6e,00,64,\
00,6f,00,77,00,73,00,5c,00,53,00,79,00,73, 00,74,00,65,00,6d,00,33,00,32,00,\
5c,00,75,00,6d,00,63,00,52,00,65,00,73,00, 2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
«SmallFolderBitmapIndirect»=hex (2):40,00, 43,00,3a,00,5c,00,57,00,69,00,6e,00,\
64,00,6f,00,77,00,73,00,5c,00,53,00,79,00, 73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,75,00,6d,00,63,00,52,00,65,00,73, 00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,32,00,30,00,00,00
«NameString»=»Remote Desktop Session Host Configuration»
«HelpTopic»=hex(2) :25,00,73,00,79,00,73, 00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,68,00,65,00,6c,00,70,00, 5c,00,74,00,73,00,63,00,63,00,2e,\
00,63,00,68,00,6d,00,00,00
«AssemblyName»=»tsconfig»
«RuntimeVersion»=»v2.0.50215»
«Description»=»Configure Remote Desktop Session Host settings»
«DescriptionStringIndirect»=hex (2):40,00,43,00,3a, 00,5c,00,57,00,69,00,6e,00,\
64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74, 00,65,00,6d,00,33,00,32,\
00,5c,00,75,00,6d,00,63,00,52,00,65,00,73,00,2e, 00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,30,00,31,00,00,00
«LinkedHelpTopics»=»%systemroot%\\help\\tscc.chm»
«NameStringIndirect»=hex (2):40,00,43,00,3a,00, 5c,00,57,00,69,00,6e,00,64,00,6f,\
00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65, 00,6d,00,33,00,32,00,5c,00,\
75,00,6d,00,63,00,52,00,65,00,73,00,2e,00,64,00, 6c,00,6c,00,2c,00,2d,00,31,\
00,30,00,30,00,00,00
«IconIndirect»=hex (2):40,00,43,00,3a,00,5c,00,57, 00,69,00,6e,00,64,00,6f,00,77,\
00,73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00, 33,00,32,00,5c,00,75,00,\
6d,00,63,00,52,00,65,00,73,00,2e,00,64,00,6c,00, 6c,00,2c,00,2d,00,31,00,31,\
00,30,00,00,00
«FxVersion»=»2.0.1.7»
«Type»=»Microsoft.TerminalServices.Configuration. SnapIn.TSConfigSnapIn, tsconfig, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35»
«FolderBitmapsColorMask»=dword:00000000
«ModuleName»=»tsconfig.dll»
«Provider»=»Microsoft Corporation»

напоминаю, что вы их можете создать вручную в виде обычного txt, вставить содержимое, а потом изменить тип файла на reg.

Регистрация оснасток Tsconfig.msc и Tsadmin.msc в Windows Server 2019

Теперь когда у вас есть все файлы необходимые для запуска и установки оснасток Tsconfig.msc и Tsadmin.msc, вы должны распаковать архив и положить файлы по тем же путям, приведу их сюда еще раз:

  • c:\windows\system32\tsadmin.dll
  • c:\windows\system32\tsconfig.dll
  • c:\windows\system32\wts.dll
  • c:\windows\system32\tsconfig.msc
  • c:\windows\system32\tsadmin.msc
  • c:\windows\system32\ru\tsconfig.resources.dll
  • c:\windows\system32\ru\tsadmin.resources.dll

Далее вам необходимо на вашем сервере Windows Server 2019 запустить два ключа реестра, которые мы выгружали. При их запуске будет предупреждение, говорим «Да«.

Файлы должны успешно импортироваться в реестр Windows.

Проверяем работу диспетчера служб удаленных рабочих столов

Попробуем запустить наши оснастки. Первой давайте запустим Tsadmin.msc. Для этого откройте окно выполнить и введите Tsadmin.msc. В итоге у нас запуститься «Диспетчер служб удаленных рабочих столов» (Remote Desktop Services Manager).

  1. отключение сеанса
  2. отправка сообщения
  3. сброс сессии
  4. статус сеанса
  5. регистрация сессии
  6. завершение процесса на вкладке процессов (одна из самых простых и важных функций инструмента)

Так же хочу порекомендовать бесплатную утилиту Terminal Services Manager, о которой я подробно рассказывал, советую посмотреть, это аналог оснасток Tsadmin.msc для некого управления RDS фермой, делает все то же самое.

Проверяем работу конфигурации узла сеансов удаленных рабочих столов

Запустите через окно выполнить Tsconfig.msc.

У вас откроется оснастка «Конфигурация узла сеансов удаленных рабочих столов (Remote Desctop Session Host Configuration)». Тут вы увидите все привычные вкладки для настройки RDP подключения, кроме вкладки «Безопасность», которая доступна только в Windows Server 2008 R2, что весьма и весьма прискорбно, так как это была хорошая плюшка для тонкой настройки доступа по RDP.

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