Как стать владельцем ветки реестра windows 10

Как поменять владельца ключа или ветки реестра из командной строки

Иногда, чтобы поменять что-то в реестре (выполнить твик или просто внести нужное вам изменение) в первую очередь требуется получить доступ к ветке/ключу реестра. Казалось бы, для администратора это не проблема. Но нюанс в том, что в некоторые ветки реестра Windows не может внести изменения даже администратор. Доступ к таким веткам ограничивается ACL, в которых либо отсутствуют права записи для группы локальных администраторов, либо владельцем таких разделов назначены TrustedInstaller или System. В этом руководстве мы покажем несколько простых способов предоставить администратору права владельца и полные права на защищенный таким образом раздел реестра.

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

Получение прав владельца на ключ реестра с использованием утилиты SubInACL

SubInACL – это официальная утилита от Microsoft, которую можно использовать для просмотра и изменения прав, владельца и информации о безопасности и т.д. для файлов, папок, ключей реестра, сервисов и т.д. в ОС Windows .

Утилита была написана для Windows 2000, XP и Server 2003, однако ее можно использовать и со всеми новыми версиями Windows.

ШАГ 1:

Скачайте утилиту с сайта Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=23510

ШАГ 2:

Это стандартный MSI инсталлятор, который копирует SubInACL.exe file в папку «C:\Program Files (x86)\Windows Resource Kits\Tools\» в Windows x64 и в папку «C:\Program Files\Windows Resource Kits\Tools\» в Windows х86.

Но никто не мешает вам просто распаковать MSI файл (например, с помощью 7-Zip) в любое место без необходимости его установки.

ШАГ 3:

Вы можете выбрать как запускать SubInACL.exe. Из места установки (cd C:\Program Files (x86)\Windows Resource Kits\Tools), или из места куда вы сами его распаковали, да хоть с флэшки 🙂 . Или можете скопировать SubInACL.exe в папку С:\Windows\System32 и тогда он будет запустится по имени. Мы предлагаем скопировать subinacl.exe файл в папку C:\Windows\System32 (C:\Windows\SysWOW64) чтобы была возможность запустить SubInACL из любого удобного места.

ШАГ 4:

Давайте научимся, как работать с SubInACL.exe. Синтаксис утилиты (в командной строке с правами администратора):

SubInACL /type name /action

/ type : Укажите нужный тип объекта. Если надо сменить владельца файла или папки используем file, а если надо поменять владельца ключа реестра, то используем keyreg или subkeyreg. Разница между keyreg и subkeyreg в том, что keyreg меняет владельца только конкретного ключа, а subkeyreg меняет владельца этого ключа и всех подчиненных ключей.

name : Замените этот параметр на название файла, папки или ключа реестра.

/ action : Этот параметр определяет то действие, которое будет произведено над объектом. Ну а раз мы собрались менять владельца ключа и прав на ключ, будем использовать /setowner=administrators /grant=administrators=f в качестве действия.

Смотрим на пример.

SUBINACL /keyreg «HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla» /setowner=Администраторы /grant=Администраторы=f

Эта команда означает, что меняется владелец данного ключа и Администратор получает полные права управления данным ключом.

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

Смена владельца и прав на ключ реестра с помощью утилиты SetACL

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

Читайте также:  Rsat установка windows 10 ошибка

ШАГ 1:

Качаем программу SetACL: https://helgeklein.com/download/#setacl

ШАГ 2:

После скачивания распакуйте ZIP файл и увидите две версии утилиты: для x86 и для x64 версий Windows. Вам надо использовать правильный SetACL.EXE для вашей версией Windows. Посмотреть какая версия Windows можно в Свойствах Системы (System Properties).

ШАГ 3:

Есть два способа использовать приложение. Вы можете, например, сохранить утилиту в папке E:\SetACL, затем открыть Командную строку от имени Администратора и перейти в эту папку используя стандартные команды или ввести полный путь для запуска утилиты, например E:\SetACL\SetACL.exe. Или вы можете скопировать SetACL.exe в системную папку C:\Windows\System32 (C:\Windows\SysWOW64) тогда можно запускать команду SetACL из любого места. Мы предлагаем скопировать EXE файл в папку C:\Windows\System32 (C:\Windows\SysWOW64).

ШАГ 4:

Теперь, когда вы сделали все предварительные процедуры, вы можете запустить SetACL:

SetACL -on name -ot type -actn action

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

on : Этот параметр указывает на полный путь к фалу или ключ реестра, владельца которого надо изменить.

ot : Этот параметр определяет тип объекта. Если меняем владельца файла, то меняем параметр на file. Если ключ реестра, то указываем reg

actn : Этот параметр указывает, что именно сделать. Возможно много вариантов, но так как мы говорим о ключах реестра, в частности о смене владельца или назначении других прав на ключ, будем использовать только значения setowner или ace.

Чтобы лучше понять как это работает, посмотрим пример:

Предположим, что нужно сменить владельца ключа HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla. Для этого нам надо запустить SetACL со следующими параметрами:

SetACL.exe -on «HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla» -ot reg -actn setowner -ownr «n:Администраторы»

SetACL.exe -on «HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla» -ot reg -actn ace -ace «n:Администраторы;p:full»

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

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

Получение прав владельца на ключ реестра с использованием встроенной команды REGINI

Эта команда идет в составе любой Windows и мы можем ее использовать для назначения разрешений на ключи реестра. Использование команды очень простое. Создаем файл скрипта с необходимыми параметрами и передаем этот файл для обработки команде REGINI.

ШАГ 1:

Открываем Блокнот (Notepad) и вписываем название необходимого ключа и ACL (Access Control List) используя вот такой вот формат:

Меняем Key_name на название нужного ключа, но смотрите, чтобы название ключа была корректным, как показано ниже:

\Registry\machine\software\classes (для ключей раздела HKEY_CLASSES_ROOT)

\Registry\machine (для ключей раздела HKEY_LOCAL_MACHINE)

\Registry\user\user_sid (для ключей раздела HKEY_CURRENT_USER) (замените user_sid на правильный Security ID этого пользователя)

\Registry\user (для ключей раздела HKEY_USERS)

Для примера, давайте рассмотрим ключ «HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla» и запишем скрипт:

\Registry\machine\SOFTWARE\Mozilla

Заменяем ACL на те, которые нам необходимы list:

1 (to provide Administrators Full Access) Дать Администраторам полный доступ
2 (to provide Administrators Read Access) Дать Администраторам доступ только на чтение
3 (to provide Administrators Read and Write Access ) Дать Администраторам право на изменение
4 (to provide Administrators Read, Write and Delete Access) Дать Администраторам право на изменение и удаление
5 (to provide Creator/Owner Full Access) Дать Создателю/Владельцу полный доступ
6 (to provide Creator/Owner Read and Write Access) Дать Создателю/Владельцу доступ на изменение
7 (to provide Everyone Full Access) Дать Всем полный доступ
8 (to provide Everyone Read Access) Дать Всем доступ только на чтение
9 (to provide Everyone Read and Write Access) Дать Всем право на изменение
10 (to provide Everyone Read, Write and Delete Access) Дать Всем право на изменение и удаление
17 (to provide System Full Access) Дать Системе полный доступ
18 (to provide System Read and Write Access) Дать Системе право на изменение
19 (to provide System Read Access) Дать Системе доступ только на чтение
Читайте также:  После обновления видеодрайвера не запускается windows

Сейчас [ACL] в скрипте будет установлен как-то так:

Как показано в таблице это даст полный доступ Администраторам и Системе, а также право на изменение создателю ключа и все остальным.

Окончательно строка будет выглядеть так:

\Registry\machine\HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla [1 6 9 17]

Вы можете использовать любые комбинации ACL как вам нужно.

ШАГ 2:

Сохраняем скрипт под именем ACL.TXT затем открываем командную строку от имени администратора и запускаем нашу команду:

REGINI full_path_of_script_file

Или, в нашем случае, это будет выглядеть так

И все. Разрешения будут немедленно изменены.

Ну вот как-то так. Метод 1 наиболее эффективен и работает на все 100%.

Пример использования

Было необходимо запустить Remote Desktop Host, предоставить группе разработчиков совместный доступ к серверу для настройки определенных приложений и базы данных. В дальнейшем, предоставлять удаленный к доступ к этому серверу не планировалось. Разработчиков было более 2-х и все хотели работать одновременно. И клятвенно обещали закончить менее чем за 4 месяца.

Сказано-сделано. Был поднят Remote Desktop Host на Windows 2012 R2 и мы начали пользоваться 120-ти дневным бесплатным периодом. Но … 4 месяцев не хватило (как всегда). Использовать же легальный ключ для TS не хотелось, так как работа, временная, как я уже сказал ранее. Пришлось … воспользоваться знаниями, которые вы только что получили.

Ключ реестра, отвечающий за отсчет 120-ти дневного Grace Period расположен здесь:

У группы Администраторы есть доступ только на чтение этого ключа.

Был использован Метод 1. Так сказать, Microsoft сами себя и наказали : )

SUBINACL /keyreg «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod» /setowner=administrators /grant=administrators=f

Сменили владельца и дали полный доступ администраторам

Удаляем содержимое этого ключа

reg delete «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod» /va /f

И после перезагрузки получаем …. Правильно! 120 дней нового бесплатного периода.

Например, можно эту команду оформить в виде скрипта и запускать каждые 115 дней по расписанию.

Пользоваться этим или нет – решать вам, на основании консультаций с вашей совестью и жабой 🙂

Как в Windows поменять права на ветку или ключ реестра?

Часто, чтобы внести изменения в раздел реестра или отредактировать параметр, нужно иметь права администратора. Однако в некоторых случаях изменить ключ реестра не может даже администратор, так как доступ ограничивается ACL и права записи для группы администраторов или владельцев системы просто отсутствуют или владельцами веток реестра назначены System, TrustedInstaller. В таком случае быстро и без вреда системе можно заполучить права на ключ или ветку реестра через командную строку и с помощью специальных программ. Описанные способы подходят для всех версий ОС Windows.

Получаем права на ветку или ключ реестра с помощью блокнота и командной строки

Способ с Блокнотом достаточно прост при условии, если вы правильно указали путь к нужному ключу или ветке реестра. Рассмотрим пример.

  • Открываем реестр и смотрим путь к ветке или параметру, права на которые нужно получить. К примеру, нам нужно получить права на ветку антивируса.

  • Открываем блокнот и вставляем следующую команду: \Registry\machine\SOFTWARE\ESET.

  • Рекомендуем запомнить правильные адреса разделов, а именно:
  1. \Registry\machine\software\classes – адрес для ключей раздела HKEY_CLASSES_ROOT;
  2. \Registry\machine — адрес для ключей раздела HKEY_LOCAL_MACHINE;
  3. \Registry\user\user_sid – адрес для ключей раздела HKEY_CURRENT_USER (user_sid нужно заменить на корректный Security ID вашего пользователя);
  4. \Registry\user – адрес для ключей раздела HKEY_USERS.
  • После этого в блокноте открываем квадратные скобки и вставляем номера определённого доступа, которые смотрим в таблице.
1 (to provide Administrators Full Access) Дать Администраторам полный доступ
2 (to provide Administrators Read Access) Дать Администраторам доступ только на чтение
3 (to provide Administrators Read and Write Access ) Дать Администраторам право на изменение
4 (to provide Administrators Read, Write and Delete Access) Дать Администраторам право на изменение и удаление
5 (to provide Creator/Owner Full Access) Дать Создателю/Владельцу полный доступ
6 (to provide Creator/Owner Read and Write Access) Дать Создателю/Владельцу доступ на изменение
7 (to provide Everyone Full Access) Дать Всем полный доступ
8 (to provide Everyone Read Access) Дать Всем доступ только на чтение
9 (to provide Everyone Read and Write Access) Дать Всем право на изменение
10 (to provide Everyone Read, Write and Delete Access) Дать Всем право на изменение и удаление
17 (to provide System Full Access) Дать Системе полный доступ
18 (to provide System Read and Write Access) Дать Системе право на изменение
19 (to provide System Read Access) Дать Системе доступ только на чтение
  • В блокноте окончательная команда будет выглядеть следующим образом: \Registry\machine\SOFTWARE\ESET [1 3 5 6].
Читайте также:  Windows internet explorer всплывающие окна

  • Сохраняем блокнот под названием ACL.txt

  • Запускаем командную строку с правами администратора и вводим команду «REGINI full_path_of_script_file». В нашем примере она будет выглядеть так: «REGINI c:\install\acl.txt».

  • Все права будут примерены к нужной ветке реестра.

Использование утилиты SubInACL для получения прав на ветку реестра

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

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

  • Выполняем установку программы.

  • Принимаем условия лицензионного соглашения.

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

  • Далее переходим в ту папку, в которую вы распаковали файлы программы и запускаем «exe».

  • Теперь, чтобы управлять утилитой, нужно в командной строке с правами администратора ввести следующую команду: «SubInACL /type name /action», где «SubInACL» – запуск утилиты, «type name» – тип объекта, права которого нужно получить и «action» – действие.
  • Только в командную строку вместо этих команд вводим следующее. Вместо «type» указывает тип объекта. Если нужно получить права на папку или файл, то прописываем «file». Если необходимо поменять владельца одного ключа реестра, то используем «keyreg». Если же нужно изменить всю ветку реестра с подчинёнными ключами, то используем «subkeyreg». Вместо команды «name» вводим название файла, папки или ключа реестра. Команда «action» отвечает за действие, которое будет произведено над объектом.
  • Поскольку нам нужно поменять владельца реестра, то вводим в командной строке «/setowner=administrators/grant=administrators=f». Стоит отметить, что если у вас русскоязычная система, то слово «Администратор» вводим русскими.
  • На примере готовая команда будет выглядеть следующим образом: «SUBINACL /keyreg «HKEY_LOCAL_MACHINE\SOFTWARE\ESET» /setowner=Администраторы /grant=Администраторы=f».

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

Меняем права на ключ реестра программой SetACL

Программа SetACL является бесплатной и позволяет менять права владельцев папок, файлов, ключей реестра.

Скачать SetACL Executable versio для Windows (7/8/10)

  • Скачиваем и распаковываем архив.
  • Выбираем установочный файл в соответствии с разрядностью системы.

  • Копируем этот файл на диск С и помещаем в папку «System32».
  • Открываем командную строку и вводим «SetACL -on name -ot type -actn action», где SetACL – запуск программы; «on» — остаётся неизменным. Вместо «name» указываем путь к ветке или ключу реестра. Часть команды «ot» оставляем неизменной. Вместо «type» указываем файл, папку, реестр, заменяя на «file» или «reg». Команду «actn» оставляем нетронутой. Вместо «action» используем только две команды «setowner» или «ace».
  • На примере команды будут выглядеть следующим образом:

SetACL.exe -on «HKEY_LOCAL_MACHINE\SOFTWARE\ESET» -ot reg -actn setowner -ownr «n:Администраторы»

SetACL.exe -on «HKEY_LOCAL_MACHINE\SOFTWARE\ESET» -ot reg -actn ace -ace «n:Администраторы;p:full»

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

О том, как ещё сменить права на ветку реестра смотрите в видео:

Оцените статью