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

Мы видели, как использовать редактор реестра (regedit.exe) для смены владельца раздела реестра и подразделов. И мы также рассмотрели, как сбросить разрешения ключа реестра или удалить упрямые ключи с помощью RegASSASSIN. В этой статье рассказывается, как изменить владельца ключа реестра и предоставить разрешения с помощью командной строки.

В Windows есть консольные утилиты takeown.exe и icacls.exe для изменения владельца файла и папки и разрешений, но таких встроенных инструментов для изменения владельца ключа реестра с помощью командной строки нет. Вам понадобится сторонний инструмент с именем SetACL для этой задачи.

SetACL: аргументы командной строки

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

 SetACL -on имя-объекта -ot objecttype -actn action 
  • -on : укажите путь к объекту, с которым должен работать SetACL (например, файл, раздел реестра, сетевой ресурс, служба или принтер).
  • -ot : указать тип объекта. Чтобы изменить владельца или разрешения для файла или папки, используйте file типа объекта. Для ключей реестра используйте тип объекта reg
  • -actn : -actn действие относительно того, что SetACL должен делать с указанным объектом. Для вступления во владение установите действие как setowner . Чтобы изменить разрешения, установите действие как ace .

(См. Документацию SetACL для полного списка объектов, типов и поддерживаемых действий.)

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

Чтобы изменить владельца реестра и разрешения с помощью SetACL:

  1. Скачайте SetACL, разархивируйте содержимое в папку.
  2. Скопируйте соответствующую версию setacl.exe (32-разрядная или 64-разрядная) инструмента в папку - например, d:\tools .
  3. Допустим, вы хотите изменить владельца ветки реестра HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160} и предоставить группе Administrators разрешения на полный доступ. Запустите эти две команды из окна командной строки администратора:
     SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: Администраторы" SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \5-B610 \ {D63 4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: администраторы; p: полное " 

    SetACL: изменить владельца ключа реестра и назначить полные разрешения
    • 1-я команда устанавливает группу Administrators в качестве владельца ключа
    • Вторая команда назначает группе Administrators разрешения на полный доступ для ключа.

Группа « Administrators » владеет ключом и его подразделами, а также имеет полные права доступа, которые можно проверить с помощью редактора реестра.


Важное -rec Yes : Чтобы изменить владельца и разрешения для этого ключа и подразделов, добавьте аргумент -rec Yes в конце. Смотрите рисунок ниже для получения дополнительной информации.


Ошибка при изменении разрешений раздела реестра?

SetACL сообщает о следующей ошибке при попытке изменить разрешения для файла / папки или раздела реестра, к которым у вас нет доступа. Чтобы предотвратить эту ошибку, убедитесь, что вы сначала вступили во владение ключом, прежде чем изменять его разрешения.

SetACL завершен с ошибкой (ями):

Сообщение об ошибке SetACL: сбой вызова SetNamedSecurityInfo ()

Сообщение об ошибке операционной системы: доступ запрещен.

Возьмите на себя ответственность и назначьте разрешения рекурсивно (этот ключ и подразделы)

Чтобы изменить владельца и предоставить разрешение на полный доступ (для Administrators ) для указанного ключа вместе с его подразделами, -rec Yes в конце ключ -rec Yes, как -rec Yes ниже:

 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: администраторы" -rec Да SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ CLSID \ -BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: администраторы; p: полный "-rec Да 

Установить TrustedInstaller в качестве владельца

Чтобы установить TrustedInstaller в качестве владельца указанного выше раздела реестра и рекурсивно назначить ему разрешения на полный доступ, используйте тот же синтаксис командной строки. Вам нужно только изменить имя учетной записи / группы. Вот команды, которые вам нужно выполнить на этот раз:

$config[ads_text6] not found
 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: nt service \rustinstaller" -rec Да SetACL.exe -on "HKEY_CLASSESSRID \ {D63B10C5-BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: "nt service \ trustinstaller"; p: full "-rec Да 

После запуска вышеуказанной команды в качестве владельца ключа и подключей устанавливается TrustedInstaller ( NT SERVICE\TrustedInstaller ).

Дополнительная информация

  • SubInACL от Microsoft. Существует еще один консольный инструмент под названием SubInACL, выпущенный Microsoft в эпоху Windows XP. Это часть средств Windows XP / 2003 Resource Kit Tools. SubInACL может использоваться, чтобы установить владельца и разрешения для файлов / папок и реестра. Однако, поскольку SubInACL был прекращен Microsoft и по умолчанию используется 32-битные пути к файлам и реестру (в 64-битных системах Windows), что делает его непригодным для использования в 64-битных версиях Windows в некоторых ситуациях.
  • Regini.exe от Microsoft: у вас есть еще один встроенный консольный инструмент с именем regini.exe, который позволяет изменять разрешения реестра с помощью текстового файла. Однако regini.exe не может изменить владельца раздела реестра. Для получения дополнительных сведений о regini.exe откройте окно командной строки и введите regini.exe /?
  • SetACL от Helge Klein - широко рекомендуемый инструмент, и он наверняка заполнил пустоту, оставленную SubInACL, а также устраняет недостатки regini.exe . SetACL может сделать гораздо больше, чем то, что обсуждается в этой статье.

Дополнительные сведения см. В документации SetACL: Версия командной строки SetACL (SetACL.exe) - Синтаксис и описание.

ПОХОЖИЕ СТАТЬИ