- Сброс тестового периода для терминального сервера Windows
- Описание проблемы
- Сброс пробного периода
- Сброс режима лицензирования Windows Server 2003 Terminal Services
- Устраняем ошибку RDP: «Удаленный сеанс отключен поскольку отсутствуют клиентские лицензии»
- Настройка сервера лицензирования
- Проверка CAL — лицензий
- Сброс timebomb windows 2003
- Описание проблемы
- Методы завершения сессии пользователя не терминале
- Как выкинуть пользователя из оснастки управления RDS
- Второй метод разлогинить пользователя на терминальном сервере
- Использование утилиты RWINSTA
- Как отключить пользователя через reset session
- Как отключить пользователя через logoff
- Выход пользователя через командлет Stop-TSSession
- Выход пользователя через командлет Stop-TerminalSession
Сброс тестового периода для терминального сервера Windows
Описание проблемы
Основанные на Windows терминальные сервера (сервера удаленных рабочих столов, и т. д.) требуют приобретения дополнительных лицензий, в противном случае терминальный сервер будет работать с пробном режиме — без каких-либо ограничений по функционалу, но только первые 180 дней. После того, как пройдут 180 дней, подключится к такому серверу пользователям не получится, поскольку он будет ругаться на отсутствие лицензий.
Сброс пробного периода
Однако, можно без проблем сбросить пробный период терминального сервера, достаточно выполнить несколько манипуляций в реестре Windows. Для этого, запускаем редактор реестра, и переходим в следующий раздел реестра:
В данном разделе реестра необходимо удалить значение реестра с названием начинающимся на L$RTMTIMEBOMB. , однако, скорее всего ничего не выйдет, поскольку по умолчанию у пользователей компьютера нет прав на внесение изменений в данном разделе. Для исправления данного недоразумения, необходимо открыть разрешения данного раздела, и сменить его владельца на Администраторы.
Делается это следующим образом:
- На нужном разделе реестра нужно нажать правой кнопкой мыши, и в появившемся меню выбрать пункт «Разрешения».
- Откроется список разрешений. В нем нужно нажать на кнопку «Дополнительно».
- Откроются дополнительные параметры, где в самом верху будет написан владелец, а рядом будет кнопка «Изменить». Нажимаем на неё.
- Откроется окошко, где нужно будет ввести имя группы администраторов — например «Administrators». Для корректировки названия в понятный системе формат следует нажать на кнопку «Проверить имена».
Если все будет правильно, система подчеркнет название группы, после чего остается только выйти из всех ранее открытых окон, нажимая кнопки «ОК» (для применения новых разрешений).
После этого, остается только удалить значение реестра с названием L$RTMTIMEBOMB. , после чего перезагрузить сервер. Если все было сделано правильно, то пробный период будет активирован по новой, и пользователи смогут работать на данном сервере как раньше.
Сброс режима лицензирования Windows Server 2003 Terminal Services
Когда для настройки компонентов терминального сервера Windows 2003 используется приложение Add/Remove Programs панели управления, может оказаться, что режим лицензирования клиента (client license mode) неожиданно изменился с per user на per device.
Ошибка в конфигурационном компоненте приводит к некорректному изменению параметра реестра HKEY_LOCAL_MACHINESystemCurrentControlSetControl TerminalServerLicensing CorePolicyAcOn. Для терминального сервера в режиме per-user license значение параметра PolicyAcOn равно 4, в режиме per device license — 2. Во время процедуры настройки с помощью Add/Remove Wizard происходит некорректное присваивание PolicyAcOn значения 2. Если перед этим использовался режим per-user, то придется вручную вернуть параметру PolicyAcOn значение 4. Для кардинального решения проблемы можно обратиться в Microsoft Product Support Services (PSS) и попросить выслать исправление Terminal Services License Hotfix, новую версию tsoc.dll, дата создания 13 января. Как утверждают разработчики Microsoft, после установки исправления систему перезагружать не нужно. Подробную информацию можно найти в статье Microsoft «Terminal Services Licensing mode changes from Per User to Per Device after you add or remove a Windows component» ( http://support.microsoft.com/?kbid=834651 ).
Паула Шерик — редактор Windows & .NET Magazine и консультант по вопросам планирования, реализации и взаимодействия сетей. С ней можно связаться по адресу: paula@winnetmag.com
Поделитесь материалом с коллегами и друзьями
Устраняем ошибку RDP: «Удаленный сеанс отключен поскольку отсутствуют клиентские лицензии»
Во всех версиях Windows, начиная с XP, есть стандартный RDP-клиент (Remote Desktop Protocol), который используется для подключения к службе удаленных рабочих столов. Иногда, при подключении к серверу терминалов через клиент удаленного рабочего стола возникает ошибка: «удаленный сеанс отключен поскольку отсутствуют клиентские лицензии».
Это сообщение может возникнуть в двух случаях:
- На сервере терминалов не настроен сервер лицензирования для службы удаленных рабочих столов.
- Сервер лицензирования не выделил клиентские лицензии доступа (CAL).
Детальнее рассмотрим оба случая.
Настройка сервера лицензирования
Ошибка чаще возникает через некоторое время в уже настроенных подключениях, спустя 120 или 180 дней. Вероятно, что при создании подключения, клиенту была выдана временная лицензия на данный период времени. Чтобы получить новую временную лицензию, необходимо на клиентской машине удалить сведения о просроченной лицензии из реестра. Для этого:
- Нажмите Win+R и выполните команду regedit.
- Сделайте бэкап реестра.
- Нажмите «Файл» → «Экспорт» → «Диапазон (Весь реестр)» → Присвойте имя файла → «Сохранить».
- Откройте ветку: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing и удалите MSLicensing.
- Затем откройте подключение к удаленному рабочему столу с правами администратора. При открытии, новая лицензия пропишется в реестре.
Проверка CAL — лицензий
Возможен такой вариант событий, что на сервере лицензирования сервера терминалов закончились лицензии. Для этого, просто подождите пока освободится лицензия, либо приобретите и активируйте нужное количество CAL — лицензий.
Чтобы проверить доступные и занятые CAL, воспользуйтесь «Лицензированием сервера терминалов» на серверной Windows:
- Откройте «Пуск» → «Администрирование» → «Службы удаленных рабочих столов» → «Диспетчер лицензирования удаленных рабочих столов».
- Выберите свой сервер лицензирования.
- В открывшемся окне нажмите «Действие» → «Создать отчет».
В отчете будет отображено число клиентских лицензий служб удаленных рабочих столов «на пользователя» которые:
- установлены на сервере лицензирования;
- выданы сервером лицензирования с учетом заданной области отчета.
Сброс timebomb windows 2003
Добрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. Вчера я вас научил определять номер и ID сеанса пользователя на RDS ферме или терминальном сервере. Там я вам рассказывал, что это нужно в случаях, когда вам необходимо завершить сессию пользователя, по ряду причин, одна из таких, это просто ее зависание. После чего человек и подключиться не может заново и не может выйти из своего сеанса. Вы как администратор, должны уметь решать проблему с зависшими RDP сессиями, ниже я покажу свои методы и алгоритмы.
Описание проблемы
Есть RDS ферма из 15 хостов подключений на Windows Server 2012 R2. Сервера на то они и сервера, что работают постоянно. Если у вас на ферме не настроены тайм ауты времени беспрерывной работы, то пользователи могут неделями или месяцами висеть в авторизованных подключениях. Логично предположить, что это не очень хорошо и ведет к различным последствиям, одно из которых, это полное зависание сеанса, при котором человек не может подключиться к терминальному серверу и видит сообщение «Работает служба профилей пользователей» или еще вариант «Не удается завершить требуемую операцию», я уже не говорю про повреждение пользовательского профиля. В результате того, что RDS брокеры видят. что пользователь уже залогинен, они не дают ему переподключиться к другому Session Host серверу, даже если вы закроете на текущем новые подключения. Пока вы не сделаете выход пользователя из системы для этой сессии, она так и будет мешать. Давайте разбираться, как это делать.
Методы завершения сессии пользователя не терминале
Существует несколько методов позволяющие выкинуть пользователя с сервера.
- Завершить сессию пользователя (Сделать log off) вы можете из оснастки управления RDS фермой
- Разлогинить пользователя можно и на самом терминальном сервере из диспетчера задач
- Выход пользователя можно выполнить из утилиты командной строки rwinsta
- Утилита командной строки log off
- Утилита reset session
- * Командлет Stop-TSSession
Как выкинуть пользователя из оснастки управления RDS
И так, у меня есть мой любимый, тестовый пользователь в Active Directory, по имени Барбоскин Геннадий Викторович. Предположим, что он зашел на терминальный стол и нам по причине зависания его сессии, нужно сделать ему выход. Первый метод, это использование оснастки по управлению RDS фермой, я вам рассказывал, как ее собирать. Открываем раздел с вашей коллекцией RDS фермы. В поисковом фильтре указываем логин или фамилию нужного сотрудника. В результате получаем хост, где он работает.
Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (Log off). Так же есть пункт «Отключиться», если выберите его, то пользователь будет выброшен с терминального сервера, но его сессия останется на нем, данная операция равносильна тому, если пользователь просто нажал в окне с названием терминального сервера крестик.
После того, как вы выбрали пункт «Выйти», начнется корректное завершение сессии пользователя на RDS ферме. Сам пользователь увидит сообщение «Работает служба профилей пользователей» и у него закроется окно без ошибки.
Второй метод разлогинить пользователя на терминальном сервере
Второй метод, похож на первый, за исключением того, что нам необходимо залогиниться на нужный сервер, открыть оснастку «Диспетчер задач» и уже из него произвести выход пользователя. Сказано сделано, о том, как вам попадать на нужного участника RDS фермы я рассказывал. Далее щелкаем правым кликом по области пуска и из контекстного меню выбираем пункт «Диспетчер задач». Кстати, вызвать «Диспетчер задач» можно и через сочетание клавиш CTRL+SHIFT+ESC.
Находим нужного нам пользователя и щелкаем по нему правым кликом, в контекстном меню. нас будет интересовать пункт «Выйти». Выбираем его и завершаем сессию пользователя.
Использование утилиты RWINSTA
Если вы попали в ситуацию, когда графические методы не позволяют вам произвести выход пользователя из системы, а это необходимо, то вам на помощь придут утилиты из командной строки. RWINSTA — это встроенная в Windows утилита, которая позволяет сбрасывать сессии, по ID и имени сеанса. Первым делом вам нужно вычислить или ID сессии или ее имя, я вам рассказывал, о всех известных мне методах. можете ознакомиться. Я выберу утилиту qwinsta. Пишем команду:
или удаленно qwinsta /server:имя сервера | findstr barboskin.g
В моем примере имя сеанса rdp-tcp#172 и ее ID 515. Пишем команду:
И в первом и во втором случае, пользователь будет разлогинен с данного сервера. Данную команду можно запускать удаленно, со своего рабочего места, главное, чтобы были права на log off. Данный метод меня ни раз выручал в моей практике, например случай с зависшей сессией на Windows Server 2016, где вместо логина пользователя было имя (4).
Как отключить пользователя через reset session
Завершить сессию пользователя можно и с помощью утилиты командной строки Reset Session. В текущем примере у моего Барбоскина Геннадия Викторовича имя сеанса rdp-tcp#16 с его ID 11. Данную утилиту можно применять как локально на самом терминальном сервере, так и на своей рабочей станции, тут так же есть ключ /server.
Подробнее про утилиту reset session вы можете почитать на сайте Microsoft — https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/reset-session
Как отключить пользователя через logoff
Разлогинить пользовательскую учетную запись и даже зависшую, можно и через утилиту командной строки «LogOff». В данном примере у Геннадия Барбоскина имя сессии rdp-tcp#43. В командной строке от имени администратора введите:
Выход пользователя через командлет Stop-TSSession
Есть такой замечательный командлет Stop-TSSession. Посмотрим на сервере ID и имя сеанса, для этого в открытой оболочке PowerShell введите:
В итоге я вижу, что у пользователя barboskin.g SessionID 3. Далее пишем
Соглашаемся с тем, что будет производиться log off для данного пользователя. Проверяем, что сессия завершена. Можно вот таким простеньким скриптом из планировщика задач, разлогинивать сессии:
Выход пользователя через командлет Stop-TerminalSession
Данный командлет устанавливается отдельно, совместно с пакетом Pscx. Первым делом посмотрим локально или удаленно идентификаторы сессии пользователя, для которого мы хотим сделать log off. Выполняем команду:
Нужный мне ID сеанса 427. Далее воспользуемся командлетом Stop-TerminalSession, чтобы выкинуть пользователя и завершить его сессию.