Редактор реестра командная строка. Как поменять владельца ключа или ветки реестра из командной строки

В этой статье излагаются базовые принципы работы с реестром Windows, знание которых пригодится вам в настройке операционной системы при помощи твиков реестра.

Терминология

Прежде чем перейти к делу, нужно определиться с терминологией. В статьях о твиках реестра, размещенных на сайте автоустановки, используется официальная терминология Microsoft, поэтому термины вполне соответствуют элементам редактора реестра.

Рисунок 1 - Редактор реестра

Как видите, здесь нет никаких "веток" и "ключей". Теперь к делу.

REG-файл

REG-файл - это текстовый файл с расширением REG, составленный в определенном формате.

Формат REG-файла

Ниже приводится пример REG-файла, отключающего меню недавних документов.

;Отключить меню недавних документов

"NoRecentDocsMenu"=hex:01,00,00,00

Создание REG-файла

Создать REG-файл очень просто. Скопируйте код в любой текстовый редактор (например, Блокнот). Нажмите CTRL+S и сохраните файл с любым именем и расширением.reg, заключая оба в кавычки.


Рисунок 2 - Создание REG-файла

Синтаксис REG-файла

  • Windows Registry Editor Version 5.00 - заголовок файла, являющийся его неотъемлемой частью. Также в качестве заголовка вы можете встретить REGEDIT4 - это формат Windows 98 / NT 4.0, который впрочем поймут и более новые операционные системы Windows. Подробнее о различиях в форматах можно прочитать на сайте JSO FAQ (на английском языке).
  • ;Отключить меню недавних документов - комментарий. Все строки, начинающиеся с ; (точка с запятой) представляют собой комментарии.
  • - это раздел реестра. Графически (в редакторе реестра) он представляет собой путь к параметру. В формате REG-файлов разделы всегда заключаются в квадратные скобки. В этом примере (под)раздел Explorer принадлежит разделу HKEY_CURRENT_USER.
  • "NoRecentDocsMenu"=hex:01,00,00,00 - параметр реестра и его значение. В зависимости от значения параметра, меняется поведение операционной системы или объекта. Многие параметры можно настроить в графическом интерфейсе операционной системы, но далеко не все. В таких случаях для изменения параметра используют редакторы реестра, твикеры или REG-файлы.

В REG-файле может содержаться несколько разделов и параметров реестра, но заголовок используется только в самом начале.

Windows Registry Editor Version 5.00

;Отключить перезагрузку в случае BSOD

"AutoReboot"=dword:00000000

;Отключить уведомление на экране приветствия о непрочитанных сообщениях

"MessageExpiryDays"=dword:00000000

Данный REG-файлом был получен путем экспорта из редактора реестра regedit.exe. При помощи REG-файлов можно вносить изменения в системный реестр - эта операция называется импортом параметров реестра.

Экспорт параметров реестра

Экспорт параметров реестра является несложной задачей. Как правило, параметры экспортируют перед внесением изменений в реестр (резервное копирование), либо для того чтобы создать REG-файл для последующего импорта в реестр другого компьютера или при автоматической установке системы.
Экспортировать параметры реестра можно различными способами.

Редактор реестра Windows (regedit.exe)

В состав ОС Windows входит программа для редактирования реестра - regedit.exe . Поскольку она располагается в системном каталоге, для ее запуска в командной строке не нужно указывать полный путь (например, достаточно будет такой последовательности: Пуск - Выполнить - regedit - OK ).

Для того чтобы экспортировать раздел реестра, достаточно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню команду Экспортировать (в Windows 2000 эта команда расположена в меню Файл ).

Другие редакторы реестра

Существует великое множество программ для внесения изменений в системный реестр, которые также обладают возможностью экспорта параметров. Если Вы часто работаете с реестром, то Вам, наверняка, пригодится программа, обладающая адресной строкой. В адресную строку можно вставить скопированный (из статьи или из сообщения на форуме) раздел реестра и быстро перейти к нужному параметру. Примером такой программы может служить .

Командная строка

Из командной строки экспорт параметров реестра можно выполнить при помощи команды REG EXPORT , обладающей следующим синтаксисом.

REG EXPORT Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. Имя файла на диске для экспорта. Примеры: REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg

Импорт параметров реестра

Импорт параметров реестра можно осуществить несколькими способами.

Запуск REG-файла при помощи графического интерфейса

Это самый простой способ. Он заключается в запуске REG-файла, содержащего необходимые параметры, двойным щелчком мыши или из командной строки.

Двойной щелчок мыши

Как это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно внести изменения в реестр. Правда, сначала система уточнит, действительно ли вы хотите это сделать. В случае положительного ответа изменения будут внесены.


Рисунок 3 - Система запрашивает подтверждение на внесение изменений.

Из-за этого запроса такой способ не подходит для импорта параметров в реестр во время автоматической установки системы. Но есть и другие способы.

Командная строка

Для импорта REG-файлов из командной строки существует команда REGEDIT . Набрав в командной строке

Вы получите точно такое же диалоговое окно, как при двойном щелчке мыши. Подавить появление диалогового окна можно запустив команду с параметром /S . Именно этот способ чаще всего применяется во время автоматической установки Windows .

Команда REG ADD

При помощи команды REG ADD также можно импортировать параметры реестра. Она удобна тем, что команды для импорта параметров можно включить в состав пакетного файла, выполняющего также и другие задачи (т. е. нет необходимости в дополнительном REG-файле). Например, эта команда нередко применяется для импорта значений реестра в раздел RunOnceEx и последующей установки программ при первом входе в систему. Синтаксис команды достаточно прост.

REG ADD [\\\] Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU. Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел. Корневой радел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. /v Имя добавляемого параметра в указанном разделе. /ve Добавить пустой параметр (По умолчанию) в указанный раздел. /t Типы данных. По умолчанию, считается равным REG_SZ. /s Определяет разделитель, который используется для разделения данных в многострочных параметрах типа REG_MULTI_SZ. По умолчанию, считается равным "\0". /d Значение, присеваемое добавляемому параметру реестра. /f Принудительно перезаписывать существующие записи реестра без предупреждения. Примеры: REG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленный компьютер ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр с именем: Data, типом: REG_BINARY, и значением: fe340ead REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр с именем: MRU, типом: REG_MUTLI_SZ, и значением: fax\0mail\0\0 REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% Добавляет параметр с именем: Path, типом: REG_EXPAND_SZ, и значением: %systemroot% Примечание: Используйте в строке двойные символы процента (%%)

INF-файл

Импортировать параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр осуществляется достаточно просто. Ниже приводится пример из аддона Msgina

Signature="$Windows NT$" Msgina OptionDesc="Msgina" Tip="Библиотека GINA входа в систему" Modes=0,1,2,3 AddReg=Msgina.AddReg HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","ShowHibernateButton",0x10001,1 HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","HibernateAsButton",0x10001,1

Примечание . Дополнительную информацию об INF-файлах можно найти в .

Реестр операционной системы Windows отвечает за работоспособность всей системы, крах реестра – крах системы. Однако, значимое количество вирусов или же просто талантливых людей, различными способами стремятся вывести его (реестр) из строя или же просто, получить над ним полный контроль, или как вариант - разрушительное редактирование реестра через командную стоку.

Вариантов поиздеваться над беззащитным пользователем, особенно, если под рукой реестр и командная строка Windows, довольно много. Так, может произойти ситуация, что через одного одаренного человека приходится переустанавливать заново операционную систему.

В этой статье я решил привести пример «издевательства » над собственной системой. Вначале, стоит обратить свое внимание на то, пути к каким программам прописаны в автозагрузке. Через меню Пуск доступна папка автозагрузка, но это лишь вершина айсберга, есть более верный способ просмотреть что находится в автозагрузке, например, используя утилиту, входящую в состав Windows - msconfig (Пуск/выполнить/msconfig). Реестр командная строка. Однако, мир не столь уж прост, и порой стоит прибегнуть к более продвинутым средствам, например утилита autoruns.exe . С ее помощью можно увидеть намного больше, на вкладке everything сразу бросаются в глаза различные разделы, в которых и прописано много чего интересного. Если не вникать в подробности, то для простого примера стоит обратить внимание на нижестоящие разделы:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Плюс, стоит бросить взгляд на раздел:

  • HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Run

Раздел HKLM охватывает всех пользователей, a HKCU - только текущего. Создадим нового пользователя с правами администратора:

Net user NewUser password /add - создаем пользователя NewUser и присваиваем ему пароль password

Net localgroup Администраторы NewUser /add - добавляем новоиспеченного пользователя в группу Администраторы.

Стоит напомнить, что сервер сценариев для работы с реестром предоставляет объект Wscript.Shell и его методы .

Теперь попробуем, произвести редактирование системного реестра из командной строки, чтобы изменить пароль пользователя NewUser используя ветку HKLM. Для этого стоит зайти в систему через свою учетную запись и создать батник следующего содержимого (текстовый файл с расширением.bat):

net user NewUser newpass

Следующая задача состоит в том, что бы пользователь NewUser его запустил, для этого прописываем в командной строке:

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce /v NewPass /t reg_sz /d c:\Master.bat /f

В данном случае мы добавили в подраздел RunOnce новый параметр под названием NewPass со строковым типом reg_sz и прописали путь к нашему батнику. Теперь при входе в систему будет происходит запуск сценариях Master.bat, который в свою очередь изменит данные учетной записи.

Конечно, это не более чем простенький пример. Проблема в том, что редактировать реестр через командную строку стоит осмысленно , иначе, ваши действия могут принести совсем не тот результат, что ожидалось. Взять для примера печальную запись “Редактирование реестра запрещено администратором системы ”, такую шалость производят, как правило, вирусы, если запрет был прописан в HKCU и вы являетесь администратором, то достаточно создать нового админ-пользователя, зайти через него в систему и открыв реестр, пробраться к нужному параметру:

HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Policies\System

тут параметр DisableRegistryTools изменить с единицы на ноль, или просто удалить. Но, можно так и не извращаться, достаточно использовать редактор от стороннего разработчика, например reglite , или, произвести редактирование реестра из командной строки:

REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools

Однако, подсунуть свинью можно и собственными силами. Есть такая утилита как regini , она позволяет назначать разрешения к тем или иным веткам реестра. Не знаю почему, но на Семерке по команде regini /? выводится полная справка, а вот в Windows XP SP3 - ничего. Так вот, синтаксис утилиты довольно прост:

regini.exe -m "компьютер" "путь к файлу сценария"

если утилита используется локально, то параметр -m «компьютер» не нужен. Всего есть 17 пунктов, и каждый определяет те или иные разрешения.

Прежде всего, надо создать текстовый файл, в котором будет прописана нужная ветка и права для нее. Например, если в файле прописать строчку Registry\Machine\Security , то администраторам и учетной записи локальной системы будут предоставлены права полного доступа к ветви реестра HKLM\SECURITY. Но, эта утилита имеет один изъян - она затирает предыдущие права. Если посмотреть на разрешения для ветки SECURITY, то мы увидим, что полный доступ имеет только локальная система (SYSTEM), именно поэтому, под администратором вы не сможете просмотреть содержимое этого раздела. Редактируя реестр через командную строку, с использованием утилиты regini я решил дать для ветки SECURITY полный доступ для администратора (хотя это можно сделать в самом редакторе реестра), в файле сценария я прописал следующую строчку Registry\Machine\Security . Реестр командная строка.

Утилиту запустил, путь к сценарию прописал. И о чудо, я имею доступ к этой ветке, ни о чем не подозревая, я перезагрузил систему. Увидев надпись при загрузке «отсутствуют права доступа к файлу» или что-то в этом роде, я понял НАДО БЫЛО И ЛОКАЛЬНОЙ СИСТЕМЕ ДАТЬ ДОСТУП! Благо, что на другом винте стояла тоже ХР, правда не SP3 a SP2, я банально заменил весь реестр и о чудо, система заработала!



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные