Команда REGINI – управление доступом к разделам реестра.



Утилита REGINI.EXE первоначально входила в состав пакета Resource Kit, но, начиная с Windows XP, является стандартным компонентом системного программного обеспечения. Используется в сценариях администрирования для управления доступом к разделам (ключам) реестра на локальном или удаленном компьютере.

Формат командной строки:

REGINI [-m \\machinename | -h hivefile hiveroot] [-i n] [-o outputWidth][-b] textFiles...

Параметры командной строки:

-m \\machinename - имя или адрес удаленного компьютера, на котором будет выполняться изменение разрешений для разделов реестра.

-h - определяет куст реестра на локальном компьютере, для которого будут устанавливаться разрешения.

-i n – смещение текста от первой позиции строки. По умолчанию равно 4

-o outputWidth - максимальный размер строк вывода. По умолчанию соответствует ширине консоли.

-b - определяет режим обратной совместимости с предыдущими версиями REGINI ( backward compatible).

textFiles - имена текстовых файлов в кодировке ANSI или Unicode, представляющих собой сценарии для изменения разрешений реестра.

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

regini /? - отобразить краткую справку по использованию команды.

regini acl1reg.txt - выполнить изменения разрешений для разделов (ключей) реестра на локальном компьютере с использованием файла сценариев acl1reg.txt

regini –m \\COMP0 C:\scripts\acl2reg.txt - выполнить изменения разрешений для реестра на удаленном компьютере COMP0 с использованием сценария C:\scripts\acl2reg.txt

Сценарии для утилиты REGINI содержат специальные директивы и параметры, с помощью которых можно управлять доступом к разделам (ключам) реестра Windows. Файлы сценариев представляют собой обычные текстовые файлы, которые можно редактировать, например, с помощью редактора ”Блокнот” (Notepad). Строки сценариев содержат адреса разделов и числовые коды, разделенные пробелами и определяющие разрешения в формате:

(путь к разделу реестра) [разрешения]

Например, строка сценария, устанавливающая разрешения доступа для раздела Adm:

HKEY_LOCAL_MACHINE\Software\Adm [1 5 9]

В данном примере, устанавливаются разрешения [1 5 9], расшифровать которые можно с использованием следующей таблицы:

1 - Администратор, полный доступ

2 - Администратор, чтение

3 - Администратор, чтение и запись

4 - Администратор, чтение, запись и удаление

5 - Создатель, полный доступ

6 - Создатель, чтение и запись

7 - Все, полный доступ

8 - Все, чтение

9 - Все, чтение и запись

10- Все, чтение, запись и удаление

11- Опытные пользователи, полный доступ

12- Опытные пользователи, чтение и запись

13- Опытные пользователи, чтение, запись и удаление

14- Системный оператор, полный доступ

15- Системный оператор, чтение и запись

16- Системный оператор, чтение, запись и удаление

17- Система, полный доступ

18- Система, чтение и запись

19- Система, чтение

20- Администратор, чтение, особые разрешения

21- Интерактивные пользователи, чтение, полный доступ

22- Интерактивные пользователи, чтение

23- Интерактивные пользователи, чтение, особые разрешения

0 - Нет групп или пользователей, имеющих разрешение на доступ к данному объекту, но владелец объекта может назначить разрешения.

Таким образом, код [1 5 9] означает

Администратор, полный доступ
Создатель, полный доступ
Все, чтение и запись

Необходимо учитывать тот факт, что ранее установленные разрешения сбрасываются, и если, после комбинации [1 5 9] в сценарии будет использована, например директива:

HKEY_LOCAL_MACHINE\Software\Adm [4]

То это означает, не добавление кода 4 - Администратор, чтение, запись и удаление, к существующим кодам 1 5 9, а их замена. Для добавления новых разрешений, с сохранением старых, строка должна быть следующего вида:

HKEY_LOCAL_MACHINE\Software\Adm [1 4 5 9]

При добавлении новых ключей или параметров в реестр, в файле сценария первой строкой указывается имя ключа, а второй (последующими) строкой указывается имя параметра, знак равенства, тип данных и значение:

ИМЯ КЛЮЧА

Имя параметра = тип данных значение


Пример файла сценария:

HKEY_CURRENT_USER\TEST [7]

text=REG_SZ String1

Первая строка указывает имя ключа (подраздела реестра) HKEY_CURRENT_USER\TEST, в который будет записан параметр и в квадратных скобках – код разрешения доступа к нему. Если подраздел TEST не существует, то он будет создан с указанными разрешениями, если существует – то выполнится смена разрешений на указанные в квадратных скобках. Если код разрешений не задан, то разрешения не изменяются. Вторая строка указывает имя и значение параметра, который будет записан в данный ключ реестра. Если параметр textне существует, то он будет создан, если существует, то будет изменено его значение на строку String1.

Наличие знака равенства = в строке сценария утилита regini.exe интерпретирует как команду на запись параметра в формате

имя = тип значение

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

text=

Для удаления самого параметра, используется ключевое слово DELETE

text=DELETE

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

text=REG_SZ This is text


Value1=REG_DWORD 0x0A0D



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

Если необходимо установить новые разрешения для куста реестра, принадлежащего другой операционной системе, то необходимо учитывать тот факт, что пути к разделам реестра должны указываться относительно имени куста, так например, для изменения разрешения для раздела HKEY_LOCAL_MACHINE\System на доступ [1 5 9] команда должна иметь вид:

regini –h D:\oldwin\system32\config\system newacl.txt

А файл newacl.txt должен содержать строку без имени подраздела:

[1 5 9]

Для просмотра существующих разрешений в командной строке Windows NT/2000 можно использовать утилиту regdmp.exe из состава дополнительных инструментов Resource Kit. В составе более поздних версий ОС Windows, стандартных средств, для просмотра разрешений разделов реестра в командной строке, не имеется.







Весь список команд CMD Windows