Сброс ознакомительного периода на терминальном сервере RDS Windows Server

При установке роли Remote Desktop Session Host (RDSH) на Windows Server, автоматически активируется льготный (ознакомительный, grace) период, в течении которого этот терминальный сервер можно использовать без активации, установки клиентских лицензий RDS CAL или подключения к внешнему серверу лицензирования RDS. По умолчанию ознакомительный период RDS сервера – 120 дней.

Чтобы проверить количество дней, оставшихся до окончания льготного периода на RDS сервере, откройте PowerShell и выполните команду:

(Invoke-CimMethod -InputObject (Get-CimInstance -Namespace "root/CIMV2/TerminalServices" -ClassName "Win32_TerminalServiceSetting") -MethodName "GetGracePeriodDays").DaysLeft

RDS проверить оставшиеся дни до окончания grace периода 120 дней

Либо воспользуйтесь командой утилитой командной строки wmic:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays

Однако команда wmic является устаревшей и отсутствует в системе начиная с Windows Server 2025.

Команда вернет оставшееся количество дней до окончания бесплатного ознакомительного периода, либо 0, если grace period уже истек.

Если льготный период истек, удаленные пользователи не смогут подключиться к серверу с помощью RDP клиента с ошибкой:

Remote session was disconnected because there are no Remote Desktop client access licenses available for this computer
Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

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

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

$RDS = Get-CimInstance -Namespace root/CIMV2/TerminalServices -ClassName Win32_TerminalServiceSetting
Invoke-CimMethod -InputObject $RDS -MethodName GetSpecifiedLicenseServerList

Проверить настройки лицензирования RDS хоста Win32_TerminalServiceSetting

Список серверов пуст, значит сервер лицензирования не задан и на хосте используется ознакомительный период RDS.

Откройте утилиту RD Licensing Diagnoser ( lsdiag.msc ) и проверьте, что в активных проблемах сервера RDSH есть надпись:

The grace period for the Remote Desktop Session Host server has expired, but the RD Session Host server has not been configured with any license servers. Connections to the RD Session Host server will be denied unless a license server is configured for the RD Session Host server.

RD Licensing Diagnoser сообщение об окончании ознакомительного периода 120 дней RDS

Для сброса льготного периода RDS нужно удалить счетчик оставшихся дней в реестре. Он хранится в параметре L$RTMTIMEBOMB в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod

Напрямую отредактировать значение этого параметр нельзя, т.к. его владельцем является SYSTEM и у локальной группы Administrators есть только права чтения на ветку.

Можно, конечно, назначить себя владельцем данной ветки через вкладку Permissions и предоставить себе права Full Control , после чего можно удалить этот параметр.

Параметр реестра L$RTMTIMEBOMB хранит количество дней до окончания grace периода RDS

На мой взгляд гораздо проще просто открыть командную строку с правами SYSTEM и удалить указанный параметр реестра. Скачайте на свой хосту утилиту psexeс и выполните следующую команду, чтобы открыть редактор реестра или командную строку с правами SYSTEM:

C:\tools\PsExec64.exe -i -s regedit.exe

Теперь, когда редактор реестра запущен от имени SYSTEM, вы можете удалить параметр L$RTMTIMEBOMB

Запуск regedit от имени System через psexec

После этого осталось перезапустить службу TermService

Restart-Service TermService -Force

Пробуем подключиться к хосту с любого RDP клиента и проверяем, что количество оставшихся дней до окончания ознакомительного периода RDS сбросилось до 119 дней:

Сброс триального периода RDS сервера на Windows Server

Также можно создать задание планировщика, которое будет автоматически запускаться с правами SYSTEM, удалять ветку реестра GracePeriod и перезапускать терминальную службу. Создаем авто удаляющееся задание планировщика с помощью PowerShell:

$cmd = 'reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /f '
$act = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c $cmd"
$prn = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount
Register-ScheduledTask -TaskName ResetRDSGrace -Action $act -Principal $prn -Force
Start-ScheduledTask -TaskName ResetRDSGrace
Start-Sleep -s 3
Restart-Service TermService -Force
Unregister-ScheduledTask -TaskName ResetRDSGrace -Confirm:$false

Рассмотренный способ сброса льготного периода терминального сервера работает на всех версиях Windows, начиная с Windows Server 2012 и заканчивая Windows Server 2025.


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *