Как сбросить grace period TS Windows Server 2019
Дистрибутив: SW_DVD9_Win_Server_STD_CORE_2019_64Bit_English_DC_STD_MLF_X21-96581.ISO
ОС: Windows Server 2019 Standard (Desktop Experience)
Вот Вы подняли терминальный сервер (tips_server_2019_ts_v1.docx) на Server 2019
попользовались полноценный терминальным сервером целых 120
дней. И вот близятся дни, а Вы подумали заранее, что будет если 120
дней пройдет, то работа будет нарушена. Активировать его (это значит тратить лицензию) или переустанавливать (это значит переустанавливать софт, настройки). Тоже так себе перспектива. А если как-нибудь сбросить Grace Period
на начало, как я уже практически использовал:
- Как сбросить grace period TS Windows Server 2016
- Как сбросить grace period TS Windows Server 2012 R2
- Как сбросить grace period TS Windows Server 2008 R2
Следовательно разберу, объединив все выше разобранное, но к Terminal Server on Windows Server 2019 Std.
Шаг №1: На терминальном сервере (srv-ts
) авторизуюсь под учетной записью вхожей в группу локальных администраторов, запускаю окно командной строки с правами Администратора:
Нажимаю клавишу Win -> Windows System
– и через правый клик мышью на “Command Prompt
” выбираю меню More -> Run as administrator
, выполняю следующую команду дабы посмотреть количество дней до окончания использования терминальным сервером из дефолтных 120
дней.
C:\Users\Administrator> wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting where (__CLASS !="") call getgraceperioddays | findstr /I "DaysLeft"
DaysLeft = 119;
C:\Users\Administrator>
Шаг №2: По аналогии, как делал ранее в заметках задействую утилиту subinacl
(version: 5.2.3790.1180
), скачиваем ее и помещаем в %systemroot%\system32
. Затем с помощью нее захватываем права владельца на раздел реестра:
12345678910111213 | C:\Users\Administrator> if not exist c:\test mkdir c:\test C:\Users\Administrator> bitsadmin /transfer subinacl /download /priority normal https://download.microsoft.com/download/1/7/d/17d82b72-bc6a-4dc8-bfaa-98b37b22b367/subinacl.msi c:\test\subinacl.msi C:\Users\Administrator> cd /d c:\test C:\test> msiexec /i subinacl.msi /q C:\test>copy /Y “c:\Program Files (x86)\Windows Resource Kits\Tools\subinacl.exe” c:\windows\system32 C:\test> cd /d c:\Windows\System32 C:\Windows\system32>subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /setowner=Administrators |
Но получаю сообщение вида:
“This app can’t run on your PC. To find a version for your PC, check with the software publisher”
И соответственно получаю ответ от выполнения команды: “Access is denied
”.
См. свойства файла через проводник и вот размер файла почему-то 0 bytes
, повторяю копирование и вижу размер 284 KB
. Значит если размер 0
, то работает какой-то антивирус.
Скопировал именно вот так, перейдя в каталог C:\Windows\System32\:
12345 | c:\Windows\System32>copy /Y “c:\Program Files (x86)\Windows Resource Kits\Tools\subinacl.exe” c:\windows\system32\ 1 file(s) copied. c:\Windows\System32> |
Шаг №3: После захвата прав владельца для локальных администраторов устанавливаем права на запись всем кто вхож в группу «Administrators/Администраторы
” на текущей системе:
1 | C:\Windows\system32>subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /grant=Administrators=F |
Шаг №4: Далее удаляем ключ из раздела GracePeriod
который отвечает за оценочный период по использованию текущего сервера с ролью терминального в 120
дней. Этим мы опять восстановим работу в 120
дней:
1 | C:\Windows\system32>reg delete “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /v L$RTMTIMEBOMB_1320153D-8DA3-4e8e-B27B-0D888223A588 /f |
Шаг №5: Возьмите за правило, если что-то изменили в реестре в качестве прав и захвата владельца, то после по достижению результата следует восстановить как было до. В частности восстанавливаем дефолтные права которыми руководствуется роль Remote Desktop Services
при работе:
12345 | C:\Windows\system32>subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /deny=Administrators= C:\Windows\system32>subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /grant=Administrators=QEYA C:\Windows\system32>subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod” /setowner=”NETWORK SERVICE” |
Шаг №6: Отлично! Теперь для активации изменений систему/сервер нужно перезагрузить:
1 | C:\Windows\system32>shutdown /r /t 3 |
Шаг №7: Возвращаемся к Шаг №1: с целью проверки количества дней использования терминального сервера:
123 | C:\Windows\system32>wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting where (__CLASS !=””) call getgraceperioddays | findstr /I “DaysLeft” DaysLeft = 119; |
Как видно 120
дней снова и снова можно использовать терминальный сервер, как и было изначально, а вот если Вам надоест, то можно и активировать его лицензионным ключом или же Вы что-то тестируете, то такая схема описанная/разобранная мной в этой заметке может помочь Вам.
Итого, теперь у меня есть четыре заметки, где действия по восстановлению периода в 120
дней на системах Windows Server 2008 R2 & Windows Server 2012 R2 & Windows Server 2016 & Windows Server 2019.
Пока на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.