Утиліта 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 - Адміністратор, повний доступ
2 - Адміністратор, читання
3 - Адміністратор, читання та запис
4 - Адміністратор, читання, запис та видалення
5 - Творець, повний доступ
6 - Творець, читання та запис
7 - Все, повний доступ
8 - Все, читання
9 - Все, читання та запис
10 - Все, читання, запис та видалення
11 - Досвідчені користувачі, повний доступ
12 - Досвідчені користувачі, читання та запис
13 - Досвідчені користувачі, читання, запис та видалення
14 - Системний оператор, повний доступ
15 - Системний оператор, читання та запис
16 - Системний оператор, читання, запис та видалення
17 - Система, повний доступ
18 - Система, читання та запис
19 - Система, читання
20 - Адміністратор, читання, особливі дозволи
21 - Інтерактивні користувачі, читання, повний доступ
22 - Інтерактивні користувачі, читання
23 - Інтерактивні користувачі, читання, особливі дозволи
0 - Немає груп або користувачів, які мають дозвіл на доступ до цього об'єкта, але власник об'єкта може призначити дозволи.
Таким чином, код означає
Адміністратор, повний доступ
Творець, повний доступ
Все, читання та запис
Необхідно враховувати той факт, що раніше встановлені дозволи скидаються, і якщо після комбінації у сценарії буде використано, наприклад директива:
HKEY_LOCAL_MACHINE\Software\Adm
Це означає, не додавання коду 4 - Адміністратор, читання, запис та видалення, до існуючих кодів 1 5 9 , а їхня заміна. Для додавання нових дозволів, із збереженням старих, рядок має бути наступного вигляду:
HKEY_LOCAL_MACHINE\Software\Adm
При додаванні нових ключів або параметрів до реєстру, у файлі сценарію першим рядком вказується ім'я ключа, а другим (наступними) рядком вказується ім'я параметра, знак рівності, тип даних та значення:
Ім'я ключа
Ім'я параметра = тип даних значення
Приклад файлу сценарію:
HKEY_CURRENT_USER\TEST
Text=REG_SZ String1
Перший рядок вказує ім'я ключа (підрозділу реєстру) HKEY_CURRENT_USER\TEST, у який буде записано параметр і у квадратних дужках – код дозволу доступу до нього. Якщо підрозділ TEST не існує, то він буде створений із зазначеними дозволами, якщо існує – то виконається зміна дозволів на квадратні дужки. Якщо код дозволів не заданий, дозволи не змінюються. Другий рядок вказує ім'я та значення параметра, який буде записаний у цей ключ реєстру. Якщо параметр textне існує, то він буде створений, якщо існує, то буде змінено його значення на рядок String1.
Наявність знака рівності = у рядку сценарію утиліта regini.exe інтерпретує як команду для запису параметра у форматі
ім'я = тип значення
Для видалення значення параметра, рядок повинен мати вигляд:
Для видалення самого параметра використовується ключове слово DELETE
text=DELETE
Під рядком з ім'ям ключа можна розташовувати кілька команд на зміну або додавання параметрів:
text=REG_SZ Цей текст
Value1=REG_DWORD 0x0A0D
Використання команди REGINIє певною небезпекою, тому, перш ніж робити серйозні зміни в системі, рекомендується виконати резервне копіювання та ознайомитися зі способами відновлення Windows.
Якщо необхідно встановити нові дозволи для куща реєстру, що належить іншій операційній системі, необхідно враховувати той факт, що шляхи до розділів реєстру повинні вказуватися щодо імені куща, наприклад, для зміни дозволу для розділу HKEY_LOCAL_MACHINE\Systemна доступ команда повинна мати вигляд:
regini -h D:\oldwin\system32\config\system newacl.txt
А файл newacl.txtповинен містити рядок без імені підрозділу:
Для перегляду існуючих дозволів у командному рядку Windows NT/2000 можна використовувати утиліту regdmp.exeіз складу додаткових інструментів Resource Kit. У складі пізніших версій Windows, стандартних засобів, для перегляду дозволів розділів реєстру в командному рядку, немає.
Для початку ми вдосконалимо сторінку реєстрації, додавши можливість завантажувати аватар. Вихідне зображення має бути формату jpg, gif чи png. Також воно має бути не більше 2 Мб. Не турбуйтеся після його стиснення скриптом, розмір аватара буде близько 3 кб і формат jpg. Відкрийте сторінку reg.phpі допишіть у тезі < form> рядок enctype="multipart/form-data",як у прикладі: