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

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

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

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

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

SetACL -on objectname -ot objecttype -actn action
  • -on: Укажите путь к объекту, с которым должен работать SetACL (например, файл, раздел реестра, сетевой ресурс, служба или принтер).
  • -ot: Укажите тип объекта. Чтобы изменить владельца или разрешения для файла или папки, используйте тип объекта file, Для ключей реестра используйте тип объекта reg
  • -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:Administrators"
    SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn ace -ace "n:Administrators;p:full"

    командная строка реестра владения - setaclSetACL: изменение владельца ключа реестра назначить полные разрешения

    • 1-й набор команд Administrators группа как владелец ключа
    • 2-я команда назначает Administrators Группа Полные права доступа для ключа.

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

командная строка реестра владения - администраторы setacl

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

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

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

SetACL завершен с ошибкой (ями):
Сообщение об ошибке SetACL: сбой вызова SetNamedSecurityInfo ()
Сообщение об ошибке операционной системы: доступ запрещен.

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

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

SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes

командная строка реестра владения - setacl trustinstaller

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

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

SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n:nt service\trustedinstaller" -rec Yes
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn ace -ace "n:"nt service\trustedinstaller";p:full" -rec Yes

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

командная строка реестра владения - setacl trustinstaller

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

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

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

Ссылка на основную публикацию
Adblock
detector