- Сообщения
- 14,053
- Решения
- 2
- Реакции
- 5,746
оглавление:
Основы работы с реестром
1) Что такое реестр?
2) Синтаксис, структура, назначение элементов реестра.
3) Редактор реестра (regedit.exe)
4) Синтаксис, структура reg-файла.
5) Утилита reg.exe
Ранее мы ознакомились с редакцией реестра с помощью reg-файла.
теперь ознакомимся с утилитой reg.exe
Что требуется?
Запустить командную строку (cmd) от имени администратора
выберите меню "пуск" в левом нижнем углу рабочего стола - в строке поиска введите: cmd - по найденному правой кнопкой мыши - "запустить от имени администратора".
Это в windows 7 и выше.
В windows ХР немного различается написание но принцип тот же.
Еще метод:
для русской версии windows
Вводим ее в поле Выполнить (Win+R).
После откроется командная строка с привилегиями администратора. Если администраторский аккаунт называется по другому в команде, соответственно, Администратор меняется на вашего пользователя с правами администратора.
Для английской версии
Есть и еще один способ:
Загрузить операционную систему в безопасном режиме с поддержкой командной строки.
*Например, если ваша операционная система поражена troyan winlok (баннер).
Основной синтаксис выглядит примерно так:
Если же вы изменяете реестр компьютера за которым сидите, то название компьютера указывать необязательно.
А,кстати!
Разделы реестра указываем по такому вот шаблону:
Ну,погнали...
Я не буду сильно оригинальничать и сразу же обращусь к справке cmd, запустив командную строку и введя команду reg /?
Тут же я увидел все команды, о доступности которых мне радостно сообщила справка консоли)))
REG <операция> [Список параметров]
<операция> [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]
Код возврата: (за исключением REG COMPARE)
0 - Успешно
1 - С ошибкой
А теперь рассмотрим все это счастье более детально.
Утилита reg.exe предоставляет нам широчайшие возможности для работы с реестром.
Основной список используемых команд таков:
Как правило используется для реализации поиска по реестру.
Эта команда используется для добавления разделов реестра, параметров и значений параметров.
Эта команда используется для удаления разделов, параметров и значений параметров реестра.
Эта команда используется для копирования разделов ,параметров и значений параметров реестра в другие разделы, параметры и значения параметров реестра.
Эта команда необходима для того, что бы сохранить разделы реестра в hiv файл.
Эта команда поможет восстановить раздел реестра из файла .hiv
Эта команда поможет загрузить в раздел реестра данные из файлов .hiv
Эта команда поможет выгрузить разделы реестра.
Эта замечательная команда позволяет выполнить сравнение данных в реестре.
Ну а с помощью этой команды мы можем выполнить экспорт разделов реестра.
С помощью этой команды выполняется импорт файлов реестра.
Эта команда предназначена для работы с флагами реестра.
Важно!!!
Операционная система Windows 7 и в выше с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных разделов реестра и каталогов).
Виртуализация реестра.
Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в разделе HKLM\SOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в раздел реестра HKCU\Software\Classes\VirtualStore\MACHINE и выполняет модификацию в нем.
Например, если программа пытается записать данные в раздел: HKLM\SOFTWARE\program_folder,то операционная система перенаправляет ее в раздел:
HKCU\Software\Classes\VirtualStore\MACHINE\Software\program_folder.
При последующих запусках программы она будет работать с данными, хранящимися не в разделе реестра, доступ к которому пользователю запрещен, а в разделе реестра
HKCU\Software\Classes\VirtualStore\MACHINE.
Виртуализация каталогов.
Аналогично механизм виртуализации работает и с папками. Только в этом случае операционная система перенаправляет запрос программы в каталог вида:
%userprofile%\AppData\Local\VirtualStore.
Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%\system32.
Если вы обладаете административными правами, то можете запретить механизм виртуализации каталогов и разделов реестра, реализованный в операционной системе Windows 7. После этого действия попытка записи программы в запрещенный для записи раздел реестра или каталог будет вызывать ошибку и прекращение работы программы.
Чтобы запретить механизм виртуализации, нужно запустить консоль gpedit.msc, перейти к разделу:
Конфигурация компьютера/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности
и в контекстном меню политики
Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя выбрать команду Свойства. После этого в появившемся окне нужно установить переключатель в положение Отключен.
Чтобы отключить механизм виртуализации при помощи реестра, нужно параметру REG_DWORD-типа EnableVirtualization, расположенному в разделе реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System, присвоить значение 0.
Можно использовать одновременно несколько команд, используя между ними специальный разделитель - символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, "команда&&команда&& команда".
Применение команд утилиты REG.EXE к
разделам и параметрам реестра имеющим пробелы
________________________________________________
Наверняка вы столкнулись с такой проблемкой:
И получаем такую вот дулю:
Чтобы исправить ситуацию,заключаем имя раздела в кавычки.
И вот уже результат веселее:
Если у вас после прочтения возникли трудности с использованием данной информации-создайте новую тему и задайте ваш вопрос,вам окажут помощь в решении проблемы.
Если нужна справка, а статьи под рукой нет-воспользуйтесь справкой cmd (команда_ /? )
Справка по утилите reg.exe (команда: reg.exe /?)
А вот,например справка по команде REG QUERY.
Водим такую команду:
REG QUERY /?
Получаем вот такой подробный список:
Несмотря на то,что даже стандартные возможности работы с реестром reg.exe значительно превосходят обычный редактор реестра можно еще более усовершенствовать работу утилиты скриптами командной строки.
Преимущество данного средства налицо,давайте рассмотрим пример.
Например всем известно, что когда мы выполняем проверку целостности системных файлов утилитой sfc (обзор в этой теме) ,а у нас при этом дитсрибутив в виртуальном приводе то система не выполнит проверку до тех пор,пока мы в реестре не укажем путь где лежит дистрибутив.
Можно сделать это вручную через редактор реестра.
Можно использовать несколько команд reg.exe по очереди.
Но в данном случае нам пригодится такой скрипт:
Утилиту reg.exe можно с пользой использовать при написании разного рода скриптов.
Заострять внимание на том,как научиться писать скрипты самостоятельно в этой теме я не стану,могу лишь порекомендовать команду help для изучения.
Если в процессе чтения или при неудачных попытках применить полученную информацию в теме вы столкнулись с какими нибудь сложностями -то можете задавать свои вопросы в этом разделе.
Основы работы с реестром
1) Что такое реестр?
2) Синтаксис, структура, назначение элементов реестра.
3) Редактор реестра (regedit.exe)
4) Синтаксис, структура reg-файла.
5) Утилита reg.exe
Утилита reg.exe
Ранее мы ознакомились с редакцией реестра с помощью reg-файла.
теперь ознакомимся с утилитой reg.exe
Что требуется?
Запустить командную строку (cmd) от имени администратора
выберите меню "пуск" в левом нижнем углу рабочего стола - в строке поиска введите: cmd - по найденному правой кнопкой мыши - "запустить от имени администратора".
Это в windows 7 и выше.
В windows ХР немного различается написание но принцип тот же.
Еще метод:
для русской версии windows
Код:
runas /user:Администратор cmd
После откроется командная строка с привилегиями администратора. Если администраторский аккаунт называется по другому в команде, соответственно, Администратор меняется на вашего пользователя с правами администратора.
Для английской версии
Код:
runas /user:Administrator cmd
Есть и еще один способ:
Загрузить операционную систему в безопасном режиме с поддержкой командной строки.
справка: Утилита REG нужна для редактирования реестра, работая из командной строки cmd.exe, поддерживает все возможности, которые имеет программа regedit.exe. И более того- она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам не возможна*.
*Например, если ваша операционная система поражена troyan winlok (баннер).
Основной синтаксис выглядит примерно так:
Код:
reg.exe команда \\компьютер\раздел реестра параметры.
Если же вы изменяете реестр компьютера за которым сидите, то название компьютера указывать необязательно.
А,кстати!
Разделы реестра указываем по такому вот шаблону:
Ну,погнали...
Я не буду сильно оригинальничать и сразу же обращусь к справке cmd, запустив командную строку и введя команду reg /?
Тут же я увидел все команды, о доступности которых мне радостно сообщила справка консоли)))
Синтаксис:
REG <операция> [Список параметров]
<операция> [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]
Код возврата: (за исключением REG COMPARE)
0 - Успешно
1 - С ошибкой
А теперь рассмотрим все это счастье более детально.
Утилита reg.exe предоставляет нам широчайшие возможности для работы с реестром.
Основной список используемых команд таков:
- REG QUERY
- REG ADD
- REG DELETE
- REG COPY
- REG SAVE
- REG RESTORE
- REG LOAD
- REG UNLOAD
- REG COMPARE
- REG EXPORT
- REG IMPORT
- REG FLAGS
REG QUERY
Как правило используется для реализации поиска по реестру.
Синтаксис команды таков:
REG QUERY имяраздела [/v [имяпараметра] | /ve] [/s] [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]
имяраздела [\\компьютер\]полноеимя_раздела
компьютер - имя удаленного компьютера, по умолчанию используется текущий компьютер.
На удаленных компьютерах доступны только разделы HKLM и HKU
полноеимяраздела - путь в форме корневой_раздел\подраздел
корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел - полное имя раздела реестра в указанном корневом_разделе
Примеры:
REG QUERY HKLM\Software\Microsoft\ResKit /v Version
Отображение значения параметра реестра Version
REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
Отображение всех подразделов и их параметров в разделе реестра Setup
удаленного компьютера ABC
REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
Отображение всех подразделов и параметров со знаком "#" в качестве
разделителя для всех параметров типа REG_MULTI_SZ.
REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
Отображение раздела, параметра и данных с учетом реестра букв для точных
совпадений с "SYSTEM" типа REG_SZ из корневого раздела HKLM
REG QUERY HKCU /f 0F /d /t REG_BINARY
Отображение раздела, параметра и данных для совпадений с "0F" типа
REG_BINARY среди данных в корневом разделе HKCU
REG QUERY HKLM\SOFTWARE /ve
Отображение параметра и данных для пустого значения (по умолчанию)
в разделе HKLM\SOFTWARE
Например, давайте проверим, все ли вы удалили при написании твика удаления пункта контекстного меню "моя первая фигня..."
(мы его создавали в прошлой теме)
Вводим
Вот что я увидел в результате-
То есть все что нужно мой твик удалил.
А ваш?
REG QUERY имяраздела [/v [имяпараметра] | /ve] [/s] [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]
имяраздела [\\компьютер\]полноеимя_раздела
компьютер - имя удаленного компьютера, по умолчанию используется текущий компьютер.
На удаленных компьютерах доступны только разделы HKLM и HKU
полноеимяраздела - путь в форме корневой_раздел\подраздел
корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел - полное имя раздела реестра в указанном корневом_разделе
Примеры:
REG QUERY HKLM\Software\Microsoft\ResKit /v Version
Отображение значения параметра реестра Version
REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
Отображение всех подразделов и их параметров в разделе реестра Setup
удаленного компьютера ABC
REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
Отображение всех подразделов и параметров со знаком "#" в качестве
разделителя для всех параметров типа REG_MULTI_SZ.
REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
Отображение раздела, параметра и данных с учетом реестра букв для точных
совпадений с "SYSTEM" типа REG_SZ из корневого раздела HKLM
REG QUERY HKCU /f 0F /d /t REG_BINARY
Отображение раздела, параметра и данных для совпадений с "0F" типа
REG_BINARY среди данных в корневом разделе HKCU
REG QUERY HKLM\SOFTWARE /ve
Отображение параметра и данных для пустого значения (по умолчанию)
в разделе HKLM\SOFTWARE
Например, давайте проверим, все ли вы удалили при написании твика удаления пункта контекстного меню "моя первая фигня..."
(мы его создавали в прошлой теме)
Вводим
Код:
reg query HKEY_CLASSES_ROOT\DesktopBackground\Shell
Код:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DesktopBackground\Shell]
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display]
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Gadgets]
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Personalize]
А ваш?
REG ADD
Эта команда используется для добавления разделов реестра, параметров и значений параметров.
Синтаксис команды:
REG ADD <имяраздела> [/v <имяпараметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
имя_раздела [\\<компьютер>\]<раздел>
Компьютер - имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.
Раздел - КОРЕНЬ\<подраздел>
КОРЕНЬ - [ HKLM | HKCU | HKCR | HKU | HKCC ]
Подраздел - полное имя подраздела реестра в указанном корневом разделе.
Примеры:
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%)
Примечание: в расширяемой строке используйте знак вставки ( ^ ).
REG ADD <имяраздела> [/v <имяпараметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
имя_раздела [\\<компьютер>\]<раздел>
Компьютер - имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.
Раздел - КОРЕНЬ\<подраздел>
КОРЕНЬ - [ HKLM | HKCU | HKCR | HKU | HKCC ]
Подраздел - полное имя подраздела реестра в указанном корневом разделе.
Примеры:
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%)
Примечание: в расширяемой строке используйте знак вставки ( ^ ).
REG DELETE
Эта команда используется для удаления разделов, параметров и значений параметров реестра.
Синтаксис команды следующий:
REG DELETE <имяраздела> [/v <имяпараметра> | /ve | /va] [/f]
имя_раздела [\\<компьютер>\]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
раздел КОРЕНЬ\<подраздел>
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_значения Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела.
Примеры:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
Удаление раздела реестра Timeout и всех его подразделов и параметров.
REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
Удаление параметра реестра MTU в разделе MyCo на компьютере ZODIAC.
REG DELETE <имяраздела> [/v <имяпараметра> | /ve | /va] [/f]
имя_раздела [\\<компьютер>\]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
раздел КОРЕНЬ\<подраздел>
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_значения Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела.
Примеры:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
Удаление раздела реестра Timeout и всех его подразделов и параметров.
REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
Удаление параметра реестра MTU в разделе MyCo на компьютере ZODIAC.
REG COPY
Эта команда используется для копирования разделов ,параметров и значений параметров реестра в другие разделы, параметры и значения параметров реестра.
Синтаксис команды следующий:
REG COPY <раздел1> <раздел2> [/s] [/f]
раздел Имя раздела в формате: [\\Компьютер\]Путь
компьютер Имя удаленного компьютера: если оно опущено, то по умолчаyю считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU.
путь Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел.
КОРЕНЬ Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
подраздел Полный путь к разделу реестра в выбранном корневом разделе.
Примеры:
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp
REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1
Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
REG COPY <раздел1> <раздел2> [/s] [/f]
раздел Имя раздела в формате: [\\Компьютер\]Путь
компьютер Имя удаленного компьютера: если оно опущено, то по умолчаyю считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU.
путь Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел.
КОРЕНЬ Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
подраздел Полный путь к разделу реестра в выбранном корневом разделе.
Примеры:
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp
REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1
Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
REG SAVE
Эта команда необходима для того, что бы сохранить разделы реестра в hiv файл.
Синтаксис команды:
REG SAVE <имяраздела> <имяфайла> [/y]
имя_раздела КОРЕНЬ\<подраздел>
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых файлов.
имя_файла Имя диска, на который сохраняется файл. Если путь не указан, то файл создается в текущей папке вызывающего процесса.
Примеры:
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
Сохранение раздела MyApp в файл AppBkUp.hiv текущей папки
REG SAVE <имяраздела> <имяфайла> [/y]
имя_раздела КОРЕНЬ\<подраздел>
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых файлов.
имя_файла Имя диска, на который сохраняется файл. Если путь не указан, то файл создается в текущей папке вызывающего процесса.
Примеры:
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
Сохранение раздела MyApp в файл AppBkUp.hiv текущей папки
REG RESTORE
Эта команда поможет восстановить раздел реестра из файла .hiv
Синтаксис команды:
REG RESTORE <имяраздела> <имяфайла>
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра, в который восстанавливается файл раздела. При этом происходит замена существующих параметров разделов и подразделов.
имя_файла Имя файла раздела, подлежащего восстановлению. Чтобы создать данный файл, необходимо использовать REG SAVE.
Примеры:
REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
Восстановление файла NTRKBkUp.hiv заменой раздела ResKit
REG RESTORE <имяраздела> <имяфайла>
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра, в который восстанавливается файл раздела. При этом происходит замена существующих параметров разделов и подразделов.
имя_файла Имя файла раздела, подлежащего восстановлению. Чтобы создать данный файл, необходимо использовать REG SAVE.
Примеры:
REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
Восстановление файла NTRKBkUp.hiv заменой раздела ResKit
REG LOAD
Эта команда поможет загрузить в раздел реестра данные из файлов .hiv
REG LOAD <имяраздела> <имяфайла>
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKU]
подраздел Имя подраздела реестра, в который загружается файл.Должно происходить создание нового раздела,если такое имя отсутствует.
имя_файла Имя файла, подлежащего загрузке.
Чтобы создать данный файл, необходимо использовать REG SAVE.
Примеры:
REG LOAD HKLM\TempHive TempHive.hiv
Загрузка файла TempHive.hiv в раздел HKLM\TempHive
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKU]
подраздел Имя подраздела реестра, в который загружается файл.Должно происходить создание нового раздела,если такое имя отсутствует.
имя_файла Имя файла, подлежащего загрузке.
Чтобы создать данный файл, необходимо использовать REG SAVE.
Примеры:
REG LOAD HKLM\TempHive TempHive.hiv
Загрузка файла TempHive.hiv в раздел HKLM\TempHive
REG UNLOAD
Эта команда поможет выгрузить разделы реестра.
REG UNLOAD <имя_раздела>
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKU]
подраздел Имя подраздела куста, в который выгружается файл.
Примеры:
REG UNLOAD HKLM\TempHive
Выгрузка куста реестра TempHive в HKLM
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
КОРЕНЬ [ HKLM | HKU]
подраздел Имя подраздела куста, в который выгружается файл.
Примеры:
REG UNLOAD HKLM\TempHive
Выгрузка куста реестра TempHive в HKLM
REG COMPARE
Эта замечательная команда позволяет выполнить сравнение данных в реестре.
Синтаксис команды:
REG COMPARE <имяраздела_1> <имяраздела2> [/v <имяпараметра> | /ve] [вывод] [/s]
имя_раздела [\\<компьютер>\]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
имя_раздела КОРЕНЬ\<подраздел>
Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1.
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_параметра Имя параметра в выбранном разделе, подлежащее сравнению.
Если опущено, то сравниваются все параметры в разделе.
Код возврата:
0 - Успешно, сравниваемые данные идентичны
1 - При обработке произошла ошибка
2 - Успешно, сравниваемые данные отличаются
Примечание:
Символы в начале каждой строки читаются следующим образом:
= данные FullKey1 равны данным FullKey2
< относится к данным FullKey1, если они отличаются от данных FullKey2
Пример:
REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp
REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version
Сравнивает значения Version в разделах MyCo и MyCo1
REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s
Сравнивает все подразделы и значения параметров в разделе
HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом
на текущем компьютере
REG COMPARE <имяраздела_1> <имяраздела2> [/v <имяпараметра> | /ve] [вывод] [/s]
имя_раздела [\\<компьютер>\]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
имя_раздела КОРЕНЬ\<подраздел>
Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1.
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_параметра Имя параметра в выбранном разделе, подлежащее сравнению.
Если опущено, то сравниваются все параметры в разделе.
Код возврата:
0 - Успешно, сравниваемые данные идентичны
1 - При обработке произошла ошибка
2 - Успешно, сравниваемые данные отличаются
Примечание:
Символы в начале каждой строки читаются следующим образом:
= данные FullKey1 равны данным FullKey2
< относится к данным FullKey1, если они отличаются от данных FullKey2
относится к данным FullKey2, если они отличаются от данных FullKey1
Пример:
REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp
REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version
Сравнивает значения Version в разделах MyCo и MyCo1
REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s
Сравнивает все подразделы и значения параметров в разделе
HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом
на текущем компьютере
REG EXPORT
Ну а с помощью этой команды мы можем выполнить экспорт разделов реестра.
Синтаксис команды:
REG EXPORT <имяраздела> <имяфайла> [/y]
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер).
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_файла Имя диска, на который экспортируется файл
Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Примеры:
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg
Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg
REG EXPORT <имяраздела> <имяфайла> [/y]
имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер).
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_файла Имя диска, на который экспортируется файл
Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Примеры:
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg
Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg
REG IMPORT
С помощью этой команды выполняется импорт файлов реестра.
Синтаксис команды:
REG IMPORT <имя_файла>
имя_файла не забываем указывать имя диска, с которого импортируется файл (только локальный компьютер).
Примеры:
REG IMPORT AppBkUp.reg
Импорт записей реестра из файла AppBkUp.reg
REG IMPORT <имя_файла>
имя_файла не забываем указывать имя диска, с которого импортируется файл (только локальный компьютер).
Примеры:
REG IMPORT AppBkUp.reg
Импорт записей реестра из файла AppBkUp.reg
REG FLAGS
Эта команда предназначена для работы с флагами реестра.
Синтаксис команды:
REG FLAGS имя_раздела [QUERY | SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]]
Имя_раздела "HKLM\Software"[\подраздел] (ограничено этими разделами только на локальном компьютере).
Подраздел Полное имя раздела реестра в узле HKLM\Software.
DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG
Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные - удалены.
Примеры:
REG FLAGS HKLM\Software\MyCo\MyApp QUERY
Отображает текущие флаги раздела MyApp.
REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s
Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и
RECURSE_FLAG) для раздела MyApp и всех его подразделов
REG FLAGS имя_раздела [QUERY | SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]]
Имя_раздела "HKLM\Software"[\подраздел] (ограничено этими разделами только на локальном компьютере).
Подраздел Полное имя раздела реестра в узле HKLM\Software.
DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG
Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные - удалены.
Примеры:
REG FLAGS HKLM\Software\MyCo\MyApp QUERY
Отображает текущие флаги раздела MyApp.
REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s
Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и
RECURSE_FLAG) для раздела MyApp и всех его подразделов
Виртуализация каталогов реестра с помощью утилиты REG
_________________________________________________________Важно!!!
Операционная система Windows 7 и в выше с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных разделов реестра и каталогов).
Виртуализация реестра.
Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в разделе HKLM\SOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в раздел реестра HKCU\Software\Classes\VirtualStore\MACHINE и выполняет модификацию в нем.
Например, если программа пытается записать данные в раздел: HKLM\SOFTWARE\program_folder,то операционная система перенаправляет ее в раздел:
HKCU\Software\Classes\VirtualStore\MACHINE\Software\program_folder.
При последующих запусках программы она будет работать с данными, хранящимися не в разделе реестра, доступ к которому пользователю запрещен, а в разделе реестра
HKCU\Software\Classes\VirtualStore\MACHINE.
Виртуализация каталогов.
Аналогично механизм виртуализации работает и с папками. Только в этом случае операционная система перенаправляет запрос программы в каталог вида:
%userprofile%\AppData\Local\VirtualStore.
Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%\system32.
Отключение механизма виртуализации.
_________________________________________________Если вы обладаете административными правами, то можете запретить механизм виртуализации каталогов и разделов реестра, реализованный в операционной системе Windows 7. После этого действия попытка записи программы в запрещенный для записи раздел реестра или каталог будет вызывать ошибку и прекращение работы программы.
Чтобы запретить механизм виртуализации, нужно запустить консоль gpedit.msc, перейти к разделу:
Конфигурация компьютера/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности
и в контекстном меню политики
Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя выбрать команду Свойства. После этого в появившемся окне нужно установить переключатель в положение Отключен.
Чтобы отключить механизм виртуализации при помощи реестра, нужно параметру REG_DWORD-типа EnableVirtualization, расположенному в разделе реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System, присвоить значение 0.
Использование нескольких команд
_______________________________________Можно использовать одновременно несколько команд, используя между ними специальный разделитель - символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, "команда&&команда&& команда".
Применение команд утилиты REG.EXE к
разделам и параметрам реестра имеющим пробелы
________________________________________________
Наверняка вы столкнулись с такой проблемкой:
Код:
REG QUERY HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /s
Код:
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Windows\System32>REG QUERY HKCU\Software\Microsoft\Windows NT\CurrentVersion\
Winlogon /s
Ошибка. Неверный синтаксис.
Введите "REG QUERY /?" для получения справки по использованию.
C:\Windows\System32>
Код:
REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion
\Winlogon" /s
Код:
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Windows\System32>REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion
\Winlogon" /s
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
ExcludeProfileDirs REG_SZ AppData\Local;AppData\LocalLow;$Recycle.Bin
BuildNumber REG_DWORD 0x1db1
FirstLogon REG_DWORD 0x0
ParseAutoexec REG_SZ 1
C:\Windows\System32>
Если что то не понятно или нужна справка под рукой
_______________________________________________________Если у вас после прочтения возникли трудности с использованием данной информации-создайте новую тему и задайте ваш вопрос,вам окажут помощь в решении проблемы.
Если нужна справка, а статьи под рукой нет-воспользуйтесь справкой cmd (команда_ /? )
Справка по утилите reg.exe (команда: reg.exe /?)
Код:
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Windows\System32>reg.exe /?
REG <операция> [Список параметров]
<операция> [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT | FLAGS ]
Код возврата: (за исключением REG COMPARE)
0 - Успешно
1 - С ошибкой
Для получения справки по определенной операции введите:
REG <операция> /?
Примеры:
REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?
REG FLAGS /?
C:\Windows\System32>
Водим такую команду:
REG QUERY /?
Получаем вот такой подробный список:
Код:
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Windows\System32>REG QUERY /?
REG QUERY имя_раздела [/v [имя_параметра] | /ve] [/s]
[/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]
имя_раздела [\\компьютер\]полное_имя_раздела
компьютер - имя удаленного компьютера, по умолчанию
используется текущий компьютер.
На удаленных компьютерах доступны только
разделы HKLM и HKU
полное_имя_раздела - путь в форме корневой_раздел\подраздел
корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]
подраздел - полное имя раздела реестра в указанном
корневом_разделе
/v Запросы требуемых параметров в указанном разделе реестра.
Если не указано, запрашиваются все параметры раздела.
Аргумент этого параметра может быть необязательным, только если
задан параметр /f. Это указывает на поиск только в именах
параметров реестра.
/ve Запросы параметра по умолчанию или с пустым именем (по
умолчанию).
/s Запрос всех вложенных подразделов и их параметров (аналогично
команде dir /s).
/se Указание разделителя (длиной в 1 знак) в строке данных для
REG_MULTI_SZ. По умолчанию в качестве разделителя используется
"\0".
/f Данные или шаблон для поиска.
Если строка содержит пробелы, заключайте ее в кавычки.
Значение по умолчанию: "*".
/k Указывает на поиск только в именах разделов.
/d Указывает на поиск только в данных.
/c Указывает на учет регистра знаков при поиске.
По умолчанию при поиске регистр знаков не учитывается.
/e Указывает на возврат только точных совпадений.
По умолчанию возвращаются все совпадения.
/t Указывает тип данных параметра реестра.
Допустимые типы:
REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ,
REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
По умолчанию будут использоваться все типы.
/z Подробности: отображение числового кода типа имени значения.
Примеры:
REG QUERY HKLM\Software\Microsoft\ResKit /v Version
Отображение значения параметра реестра Version
REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
Отображение всех подразделов и их параметров в разделе реестра Setup
удаленного компьютера ABC
REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
Отображение всех подразделов и параметров со знаком "#" в качестве
разделителя для всех параметров типа REG_MULTI_SZ.
REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
Отображение раздела, параметра и данных с учетом реестра букв для точных
совпадений с "SYSTEM" типа REG_SZ из корневого раздела HKLM
REG QUERY HKCU /f 0F /d /t REG_BINARY
Отображение раздела, параметра и данных для совпадений с "0F" типа
REG_BINARY среди данных в корневом разделе HKCU
REG QUERY HKLM\SOFTWARE /ve
Отображение параметра и данных для пустого значения (по умолчанию)
в разделе HKLM\SOFTWARE
C:\Windows\System32>
Использование утилиты reg.exe в cmd скриптах
Несмотря на то,что даже стандартные возможности работы с реестром reg.exe значительно превосходят обычный редактор реестра можно еще более усовершенствовать работу утилиты скриптами командной строки.
Преимущество данного средства налицо,давайте рассмотрим пример.
Например всем известно, что когда мы выполняем проверку целостности системных файлов утилитой sfc (обзор в этой теме) ,а у нас при этом дитсрибутив в виртуальном приводе то система не выполнит проверку до тех пор,пока мы в реестре не укажем путь где лежит дистрибутив.
Можно сделать это вручную через редактор реестра.
Можно использовать несколько команд reg.exe по очереди.
Но в данном случае нам пригодится такой скрипт:
Код:
echo off &Chcp 1251 >nul
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
if not exist %cdrom%\win51.* (chcp 1251 >nul& msg * Вам необходимо вставить диск с вашей копией Windows XP и запустить файл заново,либо смонтировать образ диска в виртуальный привод!& chcp 866>nul&exit) else goto koz
:koz
chcp 1251 >nul
echo Сохраняю резервную копию реестра...
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" %systemdrive%\install.reg
echo Проверяю путь к диску...
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v ServicePackSourcePath /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v SourcePath /t reg_sz /d %cdrom%\ /f
msg * Дождитесь окончания проверки,потом нажмите любую клавишу(кликнув мышью по окну консоли сделайте его активным).Если проверка остановилась на одном месте более 15 минут -сообщите хэлперу.
chcp 866 >nul
ping 127.0.0.1 -n 3 >nul
sfc /scannow
pause
reg import %systemdrive%\install.reg
del /q %systemdrive%\install.reg
exit
Утилиту reg.exe можно с пользой использовать при написании разного рода скриптов.
Заострять внимание на том,как научиться писать скрипты самостоятельно в этой теме я не стану,могу лишь порекомендовать команду help для изучения.
Если в процессе чтения или при неудачных попытках применить полученную информацию в теме вы столкнулись с какими нибудь сложностями -то можете задавать свои вопросы в этом разделе.
Последнее редактирование модератором: