Задача: Столкнулся что у меня на тестовом сервере для подрядчиков (пилят переход 1С 7.7 на 1С 8 или работу в паре) настал момент, когда Grace Period использования роли терминального сервера начал подходить к концу, оставалось около 9 дней бесплатного использования (из 120 дней полнофункционального использования).
ISO образ из которого установлена система: SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISOOS: Windows Server 2016 Std (Microsoft Windows [Version 10.0.14393])
Как всегда, сперва просили терминальный сервер для подрядчиков, а уже сейчас это сложная система с различными доступами в боевую сеть, хранилище конфигурации, доступы мобильных клиентов для отладки, но только я знаю, как оно устроено и что от чего зависит.
Для решения своей задачи я обратился к своего блогу: https://win.ekzorchik.ru где есть заметка "Как сбросить grace period TS Windows Server 2016"
но вот попытавшись на текущем месте работы проделать все по ней столкнулся:
Шаг №1: Смотрим количество дней, оставшихся в использовании терминальным сервером из 120 дефолтных, как оценочные:
Logon (Administrator) in system: srv-ts01
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting where (__CLASS !="") call getgraceperioddays | findstr /I "DaysLeft"
DaysLeft = 8;
Шаг №2: Обнаружил что в заметке ссылка на скачивание утилиты subinacl.msi битая, нашел в своем домашнем хранилище софта нужную утилиту. Ссылку поправил. Скачал, устанавливаю в текущую систему, каталог установки по умолчанию: C:\Program Files (x86)\Windows Resource Kits\Tools\, оставляю. После копирую из данного каталога, установленного по умолчанию утилиту subinacl.exe в каталог C:\Windows\system32
Win + X - Command Prompt (Admin)
C:\Users\Administrator>subinacl.exe SubInAcl version 5.2.3790.1180 Invalid Argument ! Use : SubInacl /help to get the usage information or SubInAcl /help syntax to understand SubInAcl syntax.
Шаг №3: Применяю действия из заметки по сбросу Grace Period:
Win + X - Command Prompt (Admin)
C:\Users\Administrator>mkdir c:\test
(Сохраняем права доступа для раздела реестра)
subinacl.exe /output=c:\test\grace.txt /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" Elapsed Time: 00 00:00:00 Done: 1, Modified 0, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
(Забираем владельца у ключа GracePeriod)
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /setowner=Administrators SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : builtin\administrators is the new owner HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : 1 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod C:\Users\Administrator>
(Устанавливаем полные права доступа на ключ реестра GracePeriod)
C:\Users\Administrator>subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /grant=Administrators=F WARNING : Error parsing line + /subkeyreg Use : SubInacl /help to get the usage information or SubInAcl /help syntax to understand SubInAcl syntax. Elapsed Time: 00 00:00:00 Done: 0, Modified 0, Failed 0, Syntax errors 1 Last Syntax Error:WARNING : Error parsing line + /subkeyreg
Вот почему ошибка, я ведь делаю эти шаги уже не первый раз и иногда вылезает непонятная ошибка парсинга синтаксиса, а вот просто команду выше выделил еще раз, скопировал в буфер и вставил, и она успешно отработала:
C:\Users\Administrator>subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /grant=Administrators=F SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : delete Perm. ACE 4 builtin\administrators SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : new ace for builtin\administrators HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : 2 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod C:\Users\Administrator>
(Удаляем ключ ответственный за триал период в 120 дней)
C:\Users\Administrator>reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /v L$RTMTIMEBOMB_1320153D-8DA3-4e8e-B27B-0D888223A588 /f The operation completed successfully.
На заметку: действия по изменению прав доступа выше обязательно должны отработать у Вас в противном случае Вы не сможете удалить ключ реестра ответственный за триал период в 120 дней.
(Возвращаю изначально выставленные системой права доступа на реестр)

На заметку: между subinacl.exe и ключом /subkeyreg не дожно быть более одного пробела
subinacl.exe /subkeyreg -> только один пробел должен быть
только тогда команда отработала
C:\Users\Administrator>subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /deny=Administrators= SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : delete Perm. ACE 4 builtin\administrators HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : 1 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod C:\Users\Administrator>subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /grant=Administrators=QEYA SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : new ace for builtin\administrators HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : 1 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod C:\Users\Administrator>subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /setowner="NETWORK SERVICE" SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : nt authority\network service is the new owner HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod : 1 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod C:\Users\Administrator>
(Отлично! Отправляем систему в перезагрузку активации)
C:\Users\Administrator> shutdown /r /t 3
(Проверяем количество дней на использование)
C:\Users\Administrator>wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting where (__CLASS !="") call getgraceperioddays | findstr /I "DaysLeft"
DaysLeft = 119;
C:\Users\Administrator>
Шаг №3: А теперь рассмотрим действия которые можно сделать не прибегая к установке утилиты subinacl.exe в систему, делать будем GUI средствами системы. Запускаем реестр (regedit.exe) предварительно авторизовавшись в системе с правами локального Администратора:
Win + R - regedit.exe
открываем ключ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
через правый клик мышью на GracePeriod открываем Permissions, Advanced.
По умолчанию владельцем значится: Owner: Network Services

нажимаем Change, указываем учетную запись Administrator и отмечаем галочкой Replace owner on subcontainers and objects и Replace all child object permission entries with inheritable permission entries from this object
(см. скриншот ниже для наглядного понимания)

нажимаю Apply, Yes, OK
После чего группу Administrators даем все права: Full Control отмечаем галочкой и нажимаем Apply, OK
(см. скриншот ниже для наглядного понимания)

и только теперь у текущей учетной записи (Login: Administrator) есть права на удаление ключа ответственного за триал период в 120 дней, через правый клик мышью на нем и выбираю Delete, Yes
(см. скриншот ниже для наглядного понимания)

Затем отправляю систему в перезагрузку, после система автоматически создал необходимый ключ и у Вас снова 120 дней полнофункционального использования роли терминального сервера.
Win + X - Shut down or sign out - Restart, Continue
На заметку: Можно, как и через консоль командной строки с применение утилиты subinacl.exe вернуть права на реестр, а можно и оставить как есть дабы в дальнейшем уже не прибегать к помощи данной заметки.
На заметку: Заметки по Grace Period опубликованные для Server 2008 R2, 2012R2, Server 2016, Server 2019 с учетом данной все действующие и работоспособные.
Итого: Когда один раз делаешь что-либо, составляешь заметку и порой все по ней отрабатывает, а если проходит много времени, возвращаясь к ней всегда всплывают нюансы, которые тогда посчитал не сильно значимыми и не отразил их в заметке, но я не забыл на этот раз и дополнил заметку — а это Важно. Так по большей части только мне и предстоит ждать помощи только от себя самого.
Заметка работоспособна, на этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.