Rds на основе сеансов в windows server 2012 r2

Удаленный сеанс отключен поскольку отсутствуют клиентские лицензии windows 10

Во всех версиях Windows, начиная с XP, есть стандартный RDP-клиент (Remote Desktop Protocol), который используется для подключения к службе удаленных рабочих столов. Иногда, при подключении к серверу терминалов через клиент удаленного рабочего стола возникает ошибка: «удаленный сеанс отключен поскольку отсутствуют клиентские лицензии».

Это сообщение может возникнуть в двух случаях:

  1. На сервере терминалов не настроен сервер лицензирования для службы удаленных рабочих столов.
  2. Сервер лицензирования не выделил клиентские лицензии доступа (CAL).

Детальнее рассмотрим оба случая.

Настройка сервера лицензирования

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

  1. Нажмите Win+R и выполните команду regedit.
  2. Сделайте бэкап реестра.
  3. Нажмите «Файл» → «Экспорт» → «Диапазон (Весь реестр)» → Присвойте имя файла → «Сохранить».
  4. Откройте ветку: HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSLicensing и удалите MSLicensing.
  5. Затем откройте подключение к удаленному рабочему столу с правами администратора.

    При открытии, новая лицензия пропишется в реестре.

Проверка CAL — лицензий

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

Чтобы проверить доступные и занятые CAL, воспользуйтесь «Лицензированием сервера терминалов» на серверной Windows:

  1. Откройте «Пуск» → «Администрирование» → «Службы удаленных рабочих столов» → «Диспетчер лицензирования удаленных рабочих столов».
  2. Выберите свой сервер лицензирования.
  3. В открывшемся окне нажмите «Действие» → «Создать отчет».

В отчете будет отображено число клиентских лицензий служб удаленных рабочих столов «на пользователя» которые:

  • установлены на сервере лицензирования;
  • выданы сервером лицензирования с учетом заданной области отчета.

Источник

RDP Ошибка отсутствия лицензии

Подключение к удалённому рабочему столу

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

Обратитесь к администратору сервера.

Гугление проблемы выдает решение почистить ветку реестра HKLMsoftwaremicrosoftMslicensing с последующим запуском RDP от администратора. Пробовал в различных вариантах — всё без толку.

На удаленной машине 1 общая лицензия. Коллеги подключаются без проблем. На моей машине данная ошибка наблюдается только с данным подключением. К другим машинам по RDP подключаюсь без проблем.

Собственно вопрос: Как исправить проблему с подключением?

4 ответа 4

После удаления ветки HKLMsoftwaremicrosoftMslicensing перезгружались сразу? После перезагрузки не подключаясь, сразу можно зайти в реестр и посмотреть, есть ли эта ветка. ЕЕ там не должно быть до первого подключения к RDP. Возможно она у вас по факту не удаляется.

Так же как вариант можно выполнить reg delete “HKLMSOFTWAREMicrosoftMSLicensingStoreLICENSE000” /f Поправьте ключ под свой номер только.

Ну и стоило бы глянуть, как сервер раздает лицензии, возможно с его стороны какой-то косяк с кешем.

По какой-то, не совсем мне понятной, причине после удаления ветки HKLMsoftwaremicrosoftMslicensing она не восстанавливалась полностью в том виде, в котором была до удаления (не создавалась папка LICENSE000). Любые комбинации перезагрузки/запуска от администратора и тп. результатов не давали.

Что в итоге помогло: поднял виртуалку, на ней РДП подключился без проблем, после скопировал полностью ветку HKLMsoftwaremicrosoftMslicensing с виртуальной машины на рабочую. Далее перезагрузка и запуск RDP от администратора и подключение прошло успешно. Ещё пару запусков не от админстратора вылетала ошибка сертификата, но после повторной перезагрузки и запуска от адм. исчезла.

По поводу 1 общая лицензия: у Вас на сервере лицензирования какая лицензия активирована на пользователя или на устройство, какое количество? Если приобреталась лицензия на устройство, то необходимо проверить в ‘Диспетчер лицензирования удаленных рабочих столов’ к какому ПЭВМ привязана лицензия, с сколько свободных. Лицензия на устройство не может быть использована для подключения к серверу с двух разных ПЭВМ. Ну и как уже говорили, если у Вас отсутствуют права администратора, обратитесь к администратору сервера терминалов. Общие рекомендации:

Источник

Варианты миграции RDS фермы

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

После чего вы данный хост добавляете в новую RDS ферму на базе WindowsServer 2016. Проделываем так со всеми RDSH хостами. Когда все хосты подключений будут управляться новыми брокерами и будут уже частью новой коллекции. Вам остается только произвести переключение DNS записи на новый RDS HA пул. Потом вы спокойно будите добавлять по одному новому хосту с Windows Server 2016, меняя его на старые с Windows Server 2012. Через какое-то время вы все так замените.

Не забываем про свои групповые политики которые были на старой RDS ферме. Вам нужно все будет перенести, чтобы пользователи ничего не увидели

На этом обновление RDS фермы Windows Server 2012 на Windows Server 2016 можно почти считать готовым, за исключением того, если у вас используются перемещаемые профили пользователей. Я не зря завел разговор про перемещаемые профили, так как у них немного другой формат в новой ОС. На RDS Windows Server 2012 R2 профиль имеет формат username.domain.V2, а вот уже у Windows Server 2016 формат username.domain.V6. Все отличие в цифре. Так, что если вы хотите, чтобы пользователи увидели свои данные при следующем подключении, вам необходимо переименовать старые профили на новый манер. Если у вас их мало, то можно сделать и вручную, но если как у меня, это тысячи пользователей, то тут нужно скриптовать.

Удаление устаревших профилей через GPO

Первый метод, довольно таки топорный, хоть и централизованный. Суть метода заключается в том, что вы настраиваете определенную настройку в групповых политиках, которая при перезагрузке сервера будет смотреть как долго не обращались к профилю, и если эта дата больше заданной в настройках GPO, то профиль будет удаляться с сервера. Эта политика полезная, если у вас особо не большая RDS ферма и у вас хотя бы раз в месяц происходит обслуживание серверов, например для установки обновлений или обновления Vmware Tools. Если вы хотите настроить политику, то нужный вам раздел находится по пути:

Конфигурация компьютера — Политики — Административные шаблоны — Система — Профили пользователей — Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней (Computer Configuration — Administrative Templates — System — User Profiles — Delete user profiles older than a specified number of days on system restart)

Далее производим обновление групповых политик и проверяем на тестовом сервере, либо можете перевести любой из RDSH хостов в режим стока и проверить на нем.

Постановка задачи

Есть RDS-ферма из 15 хостов, на уровне коллекции произведены настройки на ограничения активного сеанса, времени разъединения. Данная настройка распространяется на всех участников, подключенных к ней. Хотелось бы иметь возможность для определенных групп пользователей переопределить настройки времени ограничения сеанса, бездействия и разъединения.

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

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

  • Окончание разъединенного сеанса
  • Ограничение активного сеанса
  • Ограничение бездействующего сеанса

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

Настройка удаленного десктопа средствами Windows

Чтобы компьютеры могли взаимодействовать, они должны быть правильно настроены. Технически задача не выглядит слишком сложной, хотя здесь есть свои нюансы, особенно в случае управления через интернет. Итак, давайте посмотрим, как настроить удаленный рабочий стол средствами системы. Во-первых, на ПК, к которому будет осуществляться доступ, должна быть установлена версия Windows не ниже Pro, управлять же можно и с домашней версии

Второе и очень важно условие – это необходимость наличия статического IP-адреса на удаленном ПК

Конечно, можно попробовать настроить его вручную, но тут есть проблема. Дело в том, что внутренний IP дается ПК DHCP-сервером интернет-центра на определенный срок, по истечении которого компьютеру нужно будет запросить новый IP. Он может оказаться тем же самым, но может и измениться, тогда вы не сможете использовать протокол RDP. Так бывает с серыми, динамическими адресами, и, надо сказать, именно такие адреса выделяют своим клиентам большинство провайдеров. Поэтому самым правильным было бы обращение в службу поддержки провайдера с просьбой выделить вашему компьютеру статический адрес.

Если не хотим платить за белый IP (услуга предоставляется за дополнительную плату), пробуем настроить подключение вручную. Командой control /name Microsoft.NetworkAndSharingCenter откройте «Центр управления сетями и общим доступом», кликните по вашему подключению и нажмите в открывшемся окошке кнопку «Сведения».

Запишите данные IPv4, маски подсети, шлюза по умолчанию и DNS-сервера.

Эти же данные вы можете получить, выполнив в консоли CMD или PowerShell команду ipconfig /all. Закройте окошко сведений и откройте свойства в окне состояния.

Выберите в списке IPv4, перейдите в его свойства и введите полученные данные в соответствующие поля. Сохраните настройки.

Статический адрес у вас есть, теперь нужно включить разрешение доступа подключения. Откройте командой systempropertiesremote вкладку «Удаленный доступ» в свойствах системы и включите радиокнопку «Разрешить удаленные подключения к этому компьютеру».

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

В Windows 10 1709 получить доступ ко всем этим настройкам можно из подраздела «Удаленный рабочий стол» приложения «Параметры».

При использовании стороннего фаервола откройте в нем порт TCP 3389. На данном этапе общая настройка удаленного рабочего стола завершена.

Если подключение выполняется в локальной сети, можете приступать к работе немедленно. Запустите командой mstsc встроенное приложение RDP, введите в открывшемся окошке IP-адрес или имя удаленного хоста, выберите пользователя и нажмите «Подключить».

Далее вам нужно будет ввести данные учетной записи пользователя удаленного компьютера и нажать «OK». Появится предупреждение «Не удается проверить подлинность…».

Игнорируем его, отключаем запросы на подключение (снять галку) и жмем «Да». В случае удачного соединения вы увидите рабочий стол удаленного хоста.

Настроить удаленный рабочий стол через интернет сложнее, так как здесь придется выполнить проброс порта 3389 на IP-адрес вашего ПК, а затем подключиться к внешнему IP маршрутизатора, что может стать для пользователя настоящей головной болью, так как придется копаться в настройках роутера. Узнать свой публичный IP не составляет труда, достаточно зайти на сайт 2ip.ua/ru либо аналогичный ресурс.

Далее заходим в настройки роутера по адресу 192.168.0.1 или 192.168.1.1. Здесь все у всех может быть по-разному в зависимости от модели роутера и его прошивки.

В случае с TP-Link необходимо зайти в раздел Переадресация – Виртуальные серверы, нажать «Добавить» и ввести в поля «Порт сервера» и «Внутренний порт» 3389, в поле «IP-адрес» указывается используемый компьютером IP, в полях «Протокол» и «Состояние» должно быть выставлено «Все» и «Включено» соответственно. Сохраните настройки.

Теперь можно пробовать подключиться к удаленному десктопу с основного ПК. Запустите командой mstsc программу RDP и введите в поле «Компьютер» ранее полученный внешний IP-адрес с номером порта через двоеточие, например, 141.105.70.253:3389. Далее все точно так же, как и в примере с подключением в локальной сети.

В роутерах D-Link нужные настройки следует поискать в разделе Межсетевой экран – Виртуальные серверы.

Перед пробросом рекомендуется зарезервировать используемый компьютером IP-адрес в настройках TP-Link-роутера DHCP – Резервирование адресов.

Рекомендации

  • Используйте Windows Server 2019 для инфраструктуры удаленного рабочего стола — веб-доступа, шлюза, посредника подключений и сервера лицензирования. Windows Server 2019 обеспечивает обратную совместимость с этими компонентами. Это означает, что узел сеансов удаленного рабочего стола Windows Server 2016 или Windows Server 2012 R2 может подключаться к RDCB 2019, но не наоборот.

  • Для узлов сеансов удаленных рабочих столов — все узлы сеансов в коллекции должны находиться на одном уровне, но вы можете иметь несколько коллекций. У вас может быть коллекция с узлами сеансов Windows Server 2016 и коллекция с узлами сеансов Windows Server 2019.

  • Если вы обновляете свой узел сеансов удаленных рабочих столов до Windows Server 2019, также обновите сервер лицензирования. Помните, что сервер лицензирования версии 2019 может обрабатывать клиентские лицензии всех предыдущих версий Windows Server, вплоть до Windows Server 2003.

  • Следуйте порядку обновления, рекомендованному в разделе .

  • Если вы создаете высокодоступную среду, все ваши посредники подключений должны быть на одном уровне ОС.

Удаление устаревших профилей через Delprof2: User Profile Deletion Tool

Второй метод, который подошел мне, это использование бесплатной утилиты Delprof2: User Profile Deletion Tool. Delprof2 удаляет неактивные профили пользователей. Если вы хотите освободить место на диске, просто запустите его без параметров, и он удалит все профили, кроме вашего собственного, и некоторые специальные профили, необходимые для операционной системы. Delprof2 имеет дополнительные параметры фильтрации: вы можете удалить только локально кэшированные копии перемещаемых профилей или удалить только те профили, которые не использовались в течение указанного количества дней. Delprof2 делает все как в локальной системе, так и удаленно.

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

Некоторые программы хранят файлы по пути, длина которого превышает 260 символов. Большинство инструментов не могут работать с такими путями, длина которых превышает значение MAX_PATH (260). Проводник Windows — яркий тому пример. Delprof2, с другой стороны, использует специальные API, чтобы иметь возможность удалять файлы в самых удаленных областях вашего жесткого диска.

Решение проблемы

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

Журналы которые нас будут интересовать находятся в таких расположениях:

  • Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
  • Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
  • Microsoft-Windows-TerminalServices-SessionBroker/Admin
  • Microsoft-Windows-TerminalServices-SessionBroker/Operational
  • Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational

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

Первое, что мне бросилось в глаза, это предупреждение с кодом ID 101:

ID 101 RemoteDesktopServices-RdpCoreTS: The network characteristics detection function has been disabled because of Reason Code: 2(Server Configuration).

Далее было такое предупреждение:

Событие с кодом ID 226: RDP_UDPLOSSY: An error was encountered when transitioning from UdpLossyStateSynRecv in response to UdpEventErrorHandshakeTO (error code 0x80040004).

Далее нужно посмотреть, как RDCB брокеры взаимодействовали с сессией пользователя. В журнале «Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational» я обнаружил событие с кодом ID 1149, в котором я вижу, что определенный пользователь был успешно аутентифицирован на RDS ферме, он получил некий IP адрес.

Remote Desktop Services: User authentication succeeded: User: vpn_user Domain: Root.PYATILISTNIK.ORG Source Network Address: 10.10.31.47

Далее я стал изучать информацию из журнала «Microsoft-Windows-TerminalServices-SessionBroker/Operational». Тут я так же обнаружил, что брокер успешно ответил и отправил пользователя на определенный RDSH хост. Тут есть событие с кодом ID 787.

Событие с кодом ID 787: Session for user ROOT\vpn_user successfully added to RD Connection Broker’s database. Target Name = term01.root.pyatilistnik.org Session ID = 18 Farm Name = TermRoot

За ним я видел событие с кодом ID 801, которое имело вот такое сообщение:

RD Connection Broker successfully processed the connection request for user ROOT\vpn_user. Redirection info: Target Name = TERM01 Target IP Address = 10.10.31.47 Target Netbios = TERM01 Target FQDN = term01.root.pyatilistnik.org Disconnected Session Found = 0x0

тут видно, что брокер даже смог обнаружить предыдущую сессию на данном терминале, о чем говорит строка Disconnected Session Found = 0x0

И вы увидите событие с кодом ID 800:

RD Connection Broker received connection request for user ROOT\vpn-user. Hints in the RDP file (TSV URL) = tsv://MS Terminal Services Plugin.1.TermRoot Initial Application = NULL Call came from Redirector Server = TERMRDCB.root.pyatilistnik.org Redirector is configured as Virtual machine redirector

тут видно, что определенный брокер успешно направил пользователя на определенную коллекцию.

Далее переходим в журнал «Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational» тут будет два события,об успешном общении RDS брокера и клиента.

Событие с кодом ID 1307: Remote Desktop Connection Broker Client successfully redirected the user ROOT\vpn-user to the endpoint term01.root.pyatilistnik.org. Ip Address of the end point = 10.10.31.47

Remote Desktop Connection Broker Client received request for redirection. User : ROOT\vpn-user RDP Client Version : 5

Исходя из данной информации я точно вижу, что брокер подключения все успешно обработал и перенаправил пользователя на хост RDSH.

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows NT\Terminal Services

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

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

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core

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

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

Подробнее на https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-terminalservices-remoteconnectionmanager-licensingmode

Проверка файловой системы на повреждения

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

sfcscannow после Dism /online /cleanup-image /restorehealth и затем ChkDsk /r 

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

Еще одной из причин была ситуация в Windows Server 2008 R2 или Windows 7: Эта проблема возникает из-за состязания между службой профилей пользователей (Profsvc.dll) и службой поиска Windows (SearchIndexer.exe). Служба профилей пользователей размещается в экземпляре Svchost.exe. Когда применяется параметр групповой политики, служба профилей пользователей выполняет поиск в папке профиля пользователя, чтобы рекурсивно удалить содержимое. Однако служба поиска Windows может попытаться проверить содержимое папки одновременно. Таким образом возникает ситуация взаимоблокировки, и вы сталкиваетесь с проблемами, описанными в разделе «Проблема». Компания Microsoft выпускала обновление, которое создает две записи реестра в следующем разделе реестра:

DeleteRetryWait 1000 Интервал (измеряется в миллисекундах) между попытками удаления папки профиля пользователя в случае неудачного удаления DeleteRetryAttempts 15 Максимальное количество попыток удаления

На форуме Microsoft я наткнулся на одно обсуждение, где для ремонта профиля предлагалось использовать утилиту Reprofier.

Скачать Reprofier

Вот так выглядит интерфейс Reprofier, очень удобно для локальных профилей, которые подвергнулись повреждению.

Почему невозможно загрузить профиль пользователя

И так, какие причины вызывают сообщение, что службе «Служба профилей пользователя» не удалось войти в систему:

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

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

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

Зачем нужно переезжать в облако?

Ведь можно взять физический сервер, «поднять» на нем сервер терминалов и предоставить доступ к той же 1С всем, кому нужно. Ранее мы уже писали о преимуществах виртуального сервера и особо не хочется повторяться. Если вкратце, то виртуальный сервер не нуждается в физическом обслуживании (например, в замене вышедших из строя компонентов, в той же чистке от пыли и т. д.), проще производить резервирование и восстановление сервера (ведь есть же снапшоты), не нужно покупать дорогостоящие ИБП, организовывать резервный Интернет-канал. Обо всем этом заботиться платформа xelent.cloud.

Как уже было подсчитано в статье «Физический или виртуальный», содержание виртуального сервера обходится недорого, а порой даже дешевле физического сервера, учитывая огромные затраты на его приобретение.
Единственное, на что придется потратиться дополнительно — на лицензии терминального доступа. Но вы их бы покупали в любом случае, независимо от того, какой у вас сервер — локальный физический, виртуальный или выделенный.

Примеры использования Delprof2: User Profile Deletion Tool

Чем хороша данная утилита, так это тем, что может вызываться и работать как удаленно, так и локально. В моей основной задаче мне необходимо именно удаленное удаление профилей.

Для начала я хочу посмотреть список профилей на удаленном сервере, сделать это можно через команду:

Delprof2 /c:svt2019s01 /l

тут мы вывели список профилей на сервере svt2019s01, к сожалению с русскими логинами утилита может показывать кракозябры. Тут так же видно, какие из профилей используются в данный момент, они имеют статус (reason: in use).

Посмотреть профили на удаленном сервере старше определенного количества дней, в моем примере это 5 дней.

Delprof2 /c:svt2019s01 /l /d:5

Как видим из списка был убран профиль sem.

Произведем удаление профилей старше 5 дней на удаленном сервере, добавим в команду ключ /u, не требующий подтверждения и убираем ключ /l.

Delprof2 /c:svt2019s01 /d:5 /u

Выведем список профилей и удостоверимся, что все было удалено.

Если нужно удалить на сервере только перемещаемые профили, а локальные не трогать, то мы должны добавить ключ /r

Delprof2 /c:svt2019s01 /d:5 /u /r

Так как в моем примере нет перемещаемых профилей, то команда вернула пустой результат, но уведомила, что все профили локальные.

Delprof2 /c:svt2019s01 /d:5 /u > svt2019s01log_%DATE%.txt

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

Delprof2 /c:svt2019s01 /d:5 /u > svt2019s01log_%DATE%.txt

Delprof2 /c:svt2019s02/d:5 /u > svt2019s01log_%DATE%.txt

Delprof2 /c:svt2019s03 /d:5 /u > svt2019s01log_%DATE%.txt

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

и запускать его из планировщика Windows по расписанию. Лично я произвожу запуск каждый день в 23-00, выглядит это вот так.

RDS Licensing Grace Period Has Expired (L$RTMTIMEBOMB)

Внимательно посмотрите события в Event Viewer на RDS хосте. Возможно там есть такая ошибка:

В RD License Diagnoser скорее всего также будет отображаться ошибка:

Это означает, что ваш льготный период работы RDSH сервера (grace) истек, и вам нужно продлить grace режим, либо активировать хост на полноценном сервере лицензий RDS.

Количество дней до окончания RDS Grace Period можно узнать из cmd.exe с правами администратора командой:

Чтобы продлить grace период в RDS нужно на сервере удалить параметр реестра, в котором задается время отсчета льготного периода лицензирования (grace period licensing). Дата, определяющая время окончания работы RDSH в режиме grace хранится в reg_binary параметре реестра L$RTMTIMEBOMB (довольно забавное имя –TIME BOMB …. ;), находящемся в ветке:

Вам нужно удалить из реестра параметр L$RTMTIMEBOMB. Однако, у администратора недостаточно прав для этого.

Чтобы удалить этот параметр реестра, нужно открыть разрешения родительской ветки и предоставить своей учетной записи права владельца на ветку. Затем дайте себе права RW на ветку (не буду подробно описывать сам процесс).

Теперь щелкните правой кнопкой по параметру L$RTMTIMEBOMB и удалите его.

Перезагрузите RDSH сервер и подключитесь к нему с клиента по RDP.

С помощь консоли Remote Desktop Licensing Manager проверьте, что RDS CAL лицензия выдана.

Если RDS CAL не получен, проверьте есть ли в журнале событие:

С помощью следующей PowerShell команды проверьте, задан ли сервер RDS лицензирования:

Как вы видите, сервер лицензирования RDS не задан (список SpecifiedLSList пуст). Следующая команда принудительно задаст адрес сервера лицензий RDS.

Теперь RDS хост сможет получать лицензии от сервера RDS Licensing и выдавать их вашим RDP пользователям.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: