Сайт о телевидении

Сайт о телевидении

» » Утилита reg - запуск и правка реестра из командной строки. Что такое reg-файл

Утилита reg - запуск и правка реестра из командной строки. Что такое reg-файл

Это маленькие файлы, которые незаметно выполняют свою работу, позволяя компьютеру нормально работать и выполнять поставленные перед ним задачи. Если же системные файлы повреждены, то и сама операционная система начинает работать с ошибками («глючить»).

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

Поэтому хочу вас сразу предупредить – если вы не знаете, что делаете и к каким последствиям это может привести – НЕ редактируйте системные файлы и не удаляйте их. В принципе, это относится к любым файлам с неизвестным вам расширением.

Начнем рассмотрение системных файлов с reg файла. Потому что именно с этими файлами частенько встречаются пользователи. Несмотря на такое необычное расширение на самом деле это обыкновенный текстовый файл. Расширение reg указывает операционной системе, что в данном файле содержатся ключи реестра и определенные параметры.

Смотрите ниже, как выглядит reg файл.

Вся информация для простоты обработки компьютером четко структурирована. Так, например, обязательная первая строка REGEDIT с необходимым параметром указывает компьютеру для какой именно версии ОС Windows предназначен reg файл. Далее в определенном порядке идут ключи реестра и параметры к ним.

Кстати, я уже не однократно писал статью с использованием этого файла. Например, « »

Для чего нужен reg файл

Основное предназначение этого вида служебных файлов – работа с ключами реестра. Это самый простой способ создать или заменить необходимые ключи. В прикладном смысле reg файл используется для создания, хранения или изменения пользовательских настроек. С его помощью можно быстро и легко перенести настройки с одного компьютера на другой или создать резервную копию для возможности их восстановления в будущем.

Работа с такими файлами достаточно проста. Чтобы занести необходимую информацию в реестр операционной системы, откройте reg файл, и нажимайте два раза «Да» — соглашаясь с изменениями, которые внесутся в реестр. Дальше Windows автоматически создаст нужный запрос, обработает его и внесет данные в свой реестр.

Как работать с reg файлом

Поскольку, как я уже упоминал ранее, reg файл по сути обыкновенный текстовый файл, то лучшего средства для работы с ним чем блокнот программисты еще не придумали. Можно использовать стандартный блокнот Windows или его аналоги. Исходя из собственного опыта, могу смело порекомендовать пользоваться программой Notepad+++. Во-первых, она бесплатна, а во-вторых, обладает массой дополнительных возможностей.

Само редактирование ничем не отличается от работы с любым текстом. Для сохранения изменений достаточно заново сохранить файл при помощи команды «Файл» -«Сохранить как…» или горячей конфигурации клавиш «Ctrl» + «S».

Создание файла с расширением reg, также делается стандартными процедурами «Файл» -« Создать» или горячей конфигурации клавиш «Ctrl» + «N». Кроме того сделать reg файл можно воспользовавшись стандартной процедурой экспорта данных из реестра.

В заключение, хотелось бы отметить, что работа с такими файлами у опытного пользователя проблем не вызывает. Особо подчеркну «у опытного пользователя ». Если вы только начинаете осваивать компьютер, настоятельно рекомендую вам не экспериментировать с реестром. Потому что, как показывает практика, в большинстве случаев такие эксперименты приводят к необходимости восстановления операционной системы. А вам это, согласитесь, вряд ли надо .

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

Файлы с расширением reg являются служебными и применяются для внесения изменений в .

Например, при данные из него экспортируются именно в reg-файл. По своей сути это обычные текстовые файлы, содержимое которых можно просмотреть любым текстовым редактором, например, стандартной программой Блокнот . Теоретически такой файл можно написать и вручную, но это делается крайне редко.

Для того чтобы открыть reg-файл и просмотреть его содержимое, необходимо вызвать контекстное меню, кликнув на нем правой кнопкой мыши. Далее из меню нужно выбрать опцию «Изменить ».

Откроется программа Блокнот и в ней вы увидите содержимое reg-файла:

Но тут нужно учитывать следующий момент – если вы самостоятельно экспортировали реестр Windows в reg-файл, то он может иметь достаточно большие размеры.

Например, в моем случае размер reg-файла составил 104 Мб (я экспортировал весь реестр в файл). На открытие такого файла может уйти достаточно много времени, поэтому при создании резервной копии реестра все же предпочтительнее экспортировать только ту ветвь реестра, в которой предполагается сделать изменения. В этом случае быстрее будет создаваться reg-файл при экспортировании данных, и быстрее будет происходить импорт данных при их восстановлении из резервной копии.

Как было сказано выше, хоть reg-файлы по своей сути и являются текстовыми, но в текстовых редакторах с ними никто не работает. Обычно они применяются либо для внесения изменений в какие-то настройки или параметры реестра, либо для создания резервной копии реестра Windows.

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

Если вы уверены в файле, то можете смело нажимать кнопку «Да» . Все данные из reg-файла будут импортированы в реестр. Если же данный файл не был создан вами, то я рекомендую перед его запуском обязательно сделать полную резервную копию реестра. В этом случае вы сможете избежать массы проблем если что-то пойдет не так.

В этой статье мы рассмотрим утилиту reg командной строки, которая отвечает за работу с реестром Windows, например, запуск реестра из командной строки или правка реестра из командной строки. Сам реестр содержит в своем составе основные настройки системы Windows (профили пользователей и приложений), он является своеобразным сердцем системы. Фактически, реестр являются все го лишь набором двоичных файлов, их нельзя открыть, запустить или отредактировать рядовым способом, особенно, в момент работы самой системы Windows.

Или regedt32, предназначен для просмотра и редактирования системного реестра и его содержимого, а запуск или правка реестра из командной строки осуществляется с помощью утилиты reg .

Ниже приведен список пяти корневых разделов и их коротких обозначений:

  • HKEY_CLASSES_ROOT (HKCR),
  • HKEY_CURRENT_USER (HKCU),
  • HKEY_LOCAL_MACHINE (HKLM),
  • HKEY_USERS (HKU),
  • HKEY_CURRENT_CONFIG (HKCC).

Что бы просмотреть разделы реестра командной строкой, надо прописать

reg query «ИмяРоздела»

В папке %SystemRoot%\system32\config хранятся пять системных файлов:

  • SYSTEM
  • SECURITY
  • SAM
  • SOFTWARE
  • DEFAULT

плюс, в каталоге Documents and Settings хранится еще один «особенный» документ NTUSER.DAT . Редактировать или копировать эти ресурсы штатным методом не выйдет – нужны специальные утилиты. Однако, сделать резервную копию реестра можно через командную строку. Для этого можно использовать две функции – save и export. Начнем с первой.

Утилита reg командная строка, команда save

Данная команда полезна в тот момент, если надо сохранить реестр, перед тем, как например производится правка реестра из командной строки, что бы при беде вновь восстановить. И так, сама команда имеет следующий синтаксис:

rеg save "ИмяРаздела" "ИмяФайла"

ИмяРазделя – указываем путь к сохраняемому разделу, например

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sеrvicеs

ИмяФайла – здесь указывается путь к файлу куста (registry hive), который нужно создать, он должен иметь расширение.hiv, например: “C:\regsave\sеrvicеs.hiv”. Если надо работать с удаленной системой, то стоит помнить, что удаленно доступны только ветки HKLM и HKU. Если при попытке просмотреть разделы реестра командной строкой на удаленной машине возникают трудности, например, после ввода команды:

rеg query \\192.168.1.6\HKLM

просмотреть содержимое HKLM на компьютере с IP адресом 192.168.1.6, возникнет ошибка типа «Отказано в доступе» или «путь не найден», то, стоит проверить:

  • Запущена ли на удаленной машине служба «Удаленный реестр» (командная строка для предлагает утилиты net start «ИмяСлужбы» и net stop «ИмяСлужбы»)
  • Открыт ли простой общий доступ: Свойства папки, снять галочку с «Использовать простой общий доступ к файлам и папкам »
  • Проверить, разрешен ли вообще доступ к компьютеру.
  • Используется ли пароль в учетной записи администратора, если нет, то стоит его присвоить (Защита от пустых паролей )

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

tasklist /s 192.168.1.6 /u ИмяПользователя /p Пароль

тут я запустил t для просмотра запущенных процессов на удаленной машине, используя пароль администратора, фактически авторизировался, после, манипуляции прошли на ура (с Семерки подключал удаленный реестр машины Windows XP Sp3).

rеg save HKLM\SYSTEM\CurrentControlSet\Servicеs "C:\regsave\servicеs.hiv"

если все пройдет хорошо, то после запуска команды появится сообщение «Операция успешно завершена», а в каталоге regsave появится гордый файл куста servicеs.hiv. Для того, что бы вернуть прежний вид измененному разделу, используя ранее сохраненный слепок, стоит выполнить команду:

rеg restore HKLM\SYSTЕM\CurrentControlSet\Sеrviсеs "C:\regsave\services.hiv"

с большой вероятностью, что выбьет ошибка «отказано в доступе», скорее всего, система использует эту ветку, и поэтому она занята. Но, что бы удовлетворить желание действий, создадим временный раздел:

rеg add HKLM\SYSTEM\CurrentContrоlSet\Services\TEMP

тут в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services мы добавили временный раздел TEMP. Если ввести команду

rеg query HKLM\SYSTEM\CurrentCоntrolSet\Serviсеs\TEMP

то видно, что тут пока пусто. А теперь снова произведем запуск команды restore, но сделаем правку пути, куда будем перезаписывать данные:

rеg restore HKLM\SYSTЕM\CurrentContrоlSet\Services\TEMP "C:\regsave\services.hiv"

поскольку подраздел реестра TEMP, созданный командной строкой, не используется системой (мы его только что создали),то и данные туда успешно записались. Теперь, введя команду

rеg query HKLM\SYSTEM\CurrentControlSet\Serviсеs\TEMP

видно, что сюда импортировалось содержимое всего подраздела service. В результате этих действии видно, что неправильное использование команды restore может привести к простому замусориванию вашего реестра. Теоретически, что бы удалить подраздел TEMP надо ввести команду:

rеg delete HKLM\SYSTЕM\CurrentControlSet\Serviсеs\TEMP

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

Утилита reg командная строка, команда export

Есть и второй способ сделать слепок определенного реестра через командную строку. Для этого используется утилита reg export, ее запуск позволяет создать «заплатки» – файла с расширением.reg, довольно часто с ними приходилось сталкиваться в компьютерных играх, вот пока «заплатку» не запустишь, что бы добавилась информация об игре в систему, игрушка не будет работать. Положительная сторона таких файлов в том, что их достаточно запустить, что бы информация сама записалась куда надо. Запуск реестра из командной строки. Ну что же, попробуем все тот же подраздел Services экспортировать:

reg export HKLM\SYSTЕM\CurrentControlSet\Services "C:\regsave\sеrviсеs.reg"

Файлы регистрации используются путем слияния.reg-файла с реестром, осуществляемого в Regedit. Имеется три способа пересылки содержимого этого файла в реестр.

  • Дважды щелкнуть на этом файле (действие по умолчанию для.reg-файла – это слияние).
  • Ввести Regedit <имя_файла>.reg в командной строке.
  • Выбрать File\Import в линейке меню Regedit.

Совет . Если вы хотите запускать.reg-файлы из командной строки в несопровождаемом режиме или хотите формировать пакетные файлы, с помощью которых происходит слияние.reg-файлов с реестром без вмешательства пользователя, используйте команду Regedit со следующим синтаксисом: Regedit /s <имя_файла>.reg.

Во время пересылки.reg-файла в реестр происходят следующие действия.

  • Если путь в этом файле не указан, он добавляется.
  • Если какой-либо элемент данных еще не существует, он добавляется (вместе с его значением).
  • Если какой-либо элемент данных уже существует, его значение заменяется значением из.reg-файла.

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

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

Пример файла регистрации

В качестве примера здесь приводится текст.reg-файла, слияние которого я выполняю на всех компьютерах моей сети. Он добавляет в контекстное меню для папок опцию, позволяющую открывать окно командной строки. Я предпочитаю открывать окно Command Prompt для конкретного места вместо использования команды CD для перехода в структуре папок.

Windows Registry Editor Version 5.00

@="Command Window Here" (здесь окно командной строки)

@="cmd.exe /k cd %1"

Чтобы создать этот.reg-файл путем изменений в реестре и экспорта раздела, выполните следующие действия в Regedit.

  1. Выберите раздел HKEY_CLASSES_ROOT\Directory\shell.
  2. Создайте новый подраздел с именем OpenNew.
  3. Откройте элемент данных Default в правой панели и присвойте ему значение Command Window Here. (Это значение реестра представляет фразу, которая будет появляться в контекстном меню, поэтому вы можете заменить фразу нужным для вас образом.)
  4. Создайте новый подраздел с именем Command в подразделе OpenNew.
  5. Откройте элемент данных Default в подразделе Command и введите значение cmd.exe /k cd %1.
  6. Выделите подраздел OpenNew и выберите File\Export для создания.reg-файла, который содержит эти новые подразделы вместе с их данными.

Если на вашем компьютере несколько дисков, то вы можете добавить аналогичную команду в контекстное меню, которое появляется при щелчке правой кнопкой на каком-либо диске в Windows Explorer или в My Computer. Выполняются те же шаги, что и при создании команды для папок, со следующими изменениями.

  • В качестве начальной точки используйте раздел HKEY_CLASSES_ROOT\Drive\shell.
  • Для элемента данных Default в подразделе HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command введите значение cmd.exe /k.

Экспортируйте раздел HKEY_CLASSES_ROOT\Drive\shell и распространяйте этот.reg-файл всем пользователям, которые хотели бы использовать это удобное средство.

Удаление элементов реестра с помощью.reg-файла

Вы можете также использовать.reg-файл для удаления подразделов и элементов данных. Это настолько просто, что даже вызывает опасения.

  • Чтобы удалить подраздел, введите знак "минус" в начале имени этого подраздела.
  • Чтобы удалить отдельный элемент данных, введите знак "минус" вместо его значения ("Имя_элемента_данных=-").

Средства безопасности для реестра

Работа со средствами безопасности для реестра очень похожа на работу со средствами безопасности, которые вы получаете с помощью файловой системы NTFS. Вы можете применять полномочия доступа к разделам и подразделам на уровне группы или пользователя, определять, хотите ли вы, чтобы полномочия были наследуемыми, и создавать целую иерархию полномочий с любым уровнем уточнений. Иными словами, как и в NTFS, у каждого раздела реестра есть свой список управления доступом ACL (access control list).

По умолчанию заданы довольно жесткие уровни безопасности реестра. Администраторы имеют полный доступ ко всему реестру, но другие пользователи имеют полный доступ только к разделам, которые относятся к их собственным пользовательским учетным записям (сюда включается HKEY_CURRENT_USER), а также доступ только по чтению к разделам, которые относятся к данному компьютеру и установленному ПО. Тем не менее, вам может потребоваться изменение настроек безопасности реестра, чтобы предоставлять или отменять полномочия на уровне группы или пользователя. В этом разделе дается описание задач, связанных с заданием полномочий.

Описание полномочий

Полномочия, которые вы можете применять к определенному разделу реестра, доступны на двух уровнях.

  • Базовые полномочия, которые составлены из отдельных полномочий.
  • Отдельные полномочия.

Базовые полномочия – это группа из отдельных (более конкретных) полномочий. Для большинства разделов базовые полномочия – это Full Control (Полный доступ) и Read (Чтение).

Отдельные полномочия приводятся в таблице 4.2. Все полномочия из таблицы 4.2 предоставляются пользователям, имеющим полномочия Full Control. Полномочия, которые не попадают в группу Read (третья колонка табл. 4.2), называются специальными полномочиями.

Таблица 4.2. Полномочия, применяемые к разделам реестра
Полномочия Описание Включается в базовые полномочия Read?
Query Value Просмотр значения в элементе данных Да
Set Value Изменение значения в элементе данных Нет
Create Subkey Создание подраздела Нет
Enumerate Subkey Просмотр всех подразделов Да
Notify Получение или задание уведомлений аудита Да
Create Link Создание ссылки на другой раздел Нет
Delete Удаление раздела (и подразделов) Нет
Write DAC Изменение полномочий DAC Нет
Write Owner Изменение владельца Нет
Read Control Чтение списка ACL Да

Работа с полномочиями

Для просмотра или задания полномочий по разделу реестра (включая поддеревья верхнего уровня) щелкните правой кнопкой на этом разделе и выберите в контекстном меню пункт Permissions. Появится диалоговое окно Permissions для этого раздела, аналогичное рисунку 4.2.

Рис. 4.2. Базовые полномочия для групп и пользователей представлены в диалоговом окне Permissions

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

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

Запуск REG-файла

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

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

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


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

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

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

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

Команда 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-файлах можно найти в .