Як замінити власника ключа реєстру з командного рядка, білі віконця

Р учная правка реєстру є одним з найпоширеніших способів отримати доступ до прихованих налаштувань Windows, причому вдаються до нього не тільки адміністратори, але також і прості користувачі. Однак ось так просто взяти і відредагувати можна далеко не всі ключі. У реєстрі є чимало ключів, редагування яких неможливо внаслідок відсутності прав записи для локальних адміністраторів, або їх власниками є об'єкти TrustedInstaller або Система.

Як працювати з SubInACL

Синтаксис утиліта має наступний:

SubInACL / type name / action

Параметр / type визначає тип оброблюваного об'єкта. Якщо це папка або файл, використовується параметр file. якщо ж ми маємо справу з ключем реєстру, застосовуємо keyreg або subkeyreg. Різниця між цими двома параметрами полягає в тому, що перший замінює власника конкретного розділу реєстру, а другий - власника розділу і всіх вкладених в нього підрозділів, тобто в даному випадку має місце спадкування.

Параметр name це ім'я об'єкта: папки, файлу або ключа реєстру.

Параметр / action визначає, яку дію буде застосовано до об'єкта. Для заміни власника і зміни прав використовується / setowner = username / grant = username = f. де username - ім'я нового власника (користувача).

А тепер, як це все виглядає на практиці.

Замінимо для прикладу власника ключа HKEY_LOCAL_MACHINE \ SYSTEM \ ActivationBroker.

За замовчуванням власником є ​​Система. ми ж передамо права користувачеві з ім'ям компік.

Відкриваємо від імені адміністратора командний рядок і переходимо в каталог установки утиліти. За замовчуванням це C: \ Program Files \ Windows Resource Kits \ Tools.

Тепер виконуємо таку команду:

subinacl.exe / keyreg "HKEY_LOCAL_MACHINE \ SYSTEM \ ActivationBroker" / setowner = компік / grant = компік = f

Як замінити власника ключа реєстру з командного рядка, білі віконця

Готово! Власник ключа замінений.

Як працювати з SetACL

Схожим чином працює утиліта SetACL. На відміну від SubInACL вона не вимагає установки і має дещо інший синтаксис. Поширюється вона в двох редакціях - окремо для 32 -бітний і окремо для 64 -бітний систем.

Як замінити власника ключа реєстру з командного рядка, білі віконця

SetACL має наступний синтаксис:

SetACL -on name -ot type -actn action

Параметр -on name вказує повний шлях до об'єкта, при цьому ім'я об'єкта підставляється на місце name.

Параметр -ot type визначає тип об'єкта. Якщо це файл, використовується ключове слово file. якщо ключ реєстру - слово reg. І в тому, і в іншому випадку воно підставляється на місце type.

Параметр -actn action визначає виконувану дію. У разі заміни власника і установкою прав доступу використовуються значення setowner або ace.

А ось і конкретний приклад.

Минулого разу ми зробили власником каталогу ActivationBroker користувача компік. тепер повернемо його законному господареві, тобто системі. Відкриваємо від імені адміністратора командний рядок і одну за одною виконуємо ці дві команди:

setacl.exe -on "HKEY_LOCAL_MACHINE \ SYSTEM \ ActivationBroker" -ot reg -actn setowner -ownr "n: система"
setacl.exe -on "HKEY_LOCAL_MACHINE \ SYSTEM \ ActivationBroker" -ot reg -actn ace -ace "n: система; p: full"

Як замінити власника ключа реєстру з командного рядка, білі віконця

Перша команда повернула права на ключ системі, а друга надала їй повний доступ до нього.

SubInACL: www.microsoft.com/en-us/download/details.aspx?id=23510
SetACL: helgeklein.com/download/#setacl