Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах Windows Vista: Программы для работы с реестром


Другие наши рассылки:
  • Новости IT-мира: Ежедневно ссылки на новые новости и статьи популярных компьютерных сайтов.
  • Рецензии на новые книги: Описание новых книг о компьютерах, дизайне, бухгалтерии, психологии и др. направлениях мысли человечества.
  • Новости нашего сайта: Ежедневно ссылки на новые материалы, поступающие на наш сайт: от ссылок на статьи до ссылок на новые и обновленные записи онлайновых баз данных.

Данная статья была написана для журнала Мой компьютер.

В предыдущей статье данного цикла мы с вами рассмотрели основные возможности редактора реестра regedit.exe. На этом мы закончим общее описание этого редактора реестра и перейдем к другим стандартным программам для доступа к реестру.

Однако перед этим хотелось бы описать комбинации клавиш, которые можно применять при работе с редактором реестра regedit.exe.

  • CTRL+F. Отображает диалог поиска в ветви реестра.
  • F3. Эквивалентно команде НАЙТИ ДАЛЕЕ… из меню ПРАВКА.
  • F6. Выполняет переход между левой и правой панелью редактора.
  • + ИЛИ СТРЕЛКА ВПРАВО. Раскрывает вложенные в выделенную ветвь реестра подразделы.
  • - ИЛИ СТРЕЛКА ВЛЕВО. Сворачивает вложенные в выделенную ветвь реестра подразделы.
  • *. Рекурсивно раскрывает вложенные в выделенную ветвь реестра подразделы, а также подразделы, вложенные во вложенные подразделы.
  • DEL. Удаляет параметр или подраздел реестра.
  • HOME. Переходит к разделу Компьютер редактора реестра.
  • END. Переходит к последнему открытому разделу (как правило, это корневой раздел HKEY_CURRENT_CONFIG).
  • PAGE UP. Переходит к первому разделу, видимому в данный момент на экране.
  • PAGE DOWN. Переходит к последнему разделу, видимому в данный момент на экране.
Программа reg.exe

Еще одним стандартным редактором реестра, входящим в поставку операционной системы Windows Vista, является программа командной строки reg.exe. Данная команда поддерживает все возможности, которые имеет программа reg.exe, но, кроме того, она также поддерживает несколько уникальных функций.

Основной синтаксис программы reg.exe следующий: reg.exe «команда» «\\компьютер\ветвь реестра» «опции». Если же вы изменяете реестр локального компьютера, название компьютера указывать не обязательно.

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

При указании ветви реестра, вместо названия корневого раздела нужно указывать его стандартное сокращение. То есть, вместо HKEY_CLASSES_ROOT указывается HKCR, вместо HKEY_CURRENT_USER указывается HKCU, вместо HKEY_LOCAL_MACHINE указывается HKLM и т.д.

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

  • /v «параметр». Определяет название параметра, над которым выполняется действие.
  • /ve. Говорит о том, что действие выполняется над параметром (по умолчанию).
  • /d «значение». Определяет значение определенного параметра.
  • /t «тип параметра». Определяет тип определенного параметра и может принимать следующие значения: REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BINARY, REG_NONE (заметьте, что параметры данного типа нельзя создавать с помощью regedit.exe).
  • /f. Данную опцию можно использовать со всеми командами. Если она установлена, тогда программа reg.exe не будет выводить на экран результаты своей работы.

Добавление параметров Чтобы добавить или изменить параметр реестра, нужно воспользоваться командой вида reg.exe add «ветвь реестра» /v «параметр» /t «тип» /d «значение».

Чтобы добавить или изменить параметр (по умолчанию) реестра, нужно воспользоваться командой вида reg.exe add «ветвь реестра» /ve /d «значение».

Чтобы добавить ветвь реестра, достаточно воспользоваться командой вида reg.exe add «ветвь реестра».

Удаление параметров Чтобы удалить параметр реестра, нужно воспользоваться командой reg delete «ветвь реестра» /v «параметр».

Чтобы удалить параметр реестра (по умолчанию), нужно воспользоваться командой reg delete «ветвь реестра» /ve.

Чтобы удалить все параметры ветви реестра, нужно воспользоваться командой reg delete «ветвь реестра» /va.

Чтобы удалить ветвь реестра, достаточно воспользоваться командой reg delete «ветвь реестра».

Просмотр значения параметра Также с помощью данной программы можно просмотреть содержимое параметра или ветви реестра. Для просмотра содержимого ветви реестра достаточно воспользоваться командой reg query «ветвь реестра». Если же нужно просмотреть значение определенного параметра, просто добавьте к этой команде опции /v «параметр» или /ve.

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

Поиск в реестре Несмотря на то, что мы выделили эту возможность в качестве отдельного раздела, для ее реализации используется уже знакомая нам команда — reg query «ветвь реестра». Чтобы выполнить поиск с ее помощью, нужно воспользоваться следующими опциями.

  • /f «шаблон поиска». Определяет строку, которую нужно найти. По умолчанию используется шаблон *.
  • /d. Присутствие данной опции говорит о том, что поиск нужно вести только в значениях параметров.
  • /k. Присутствие данной опции говорит о том, что поиск нужно вести только в названиях разделов реестра.
  • /c. Присутствие данной опции говорит о том, что поиск нужно вести с соблюдением регистра.

Сравнивание значений параметров Данная возможность является уникальной возможностью программы reg.exe (в программе regedit.exe такой возможности нет).

Чтобы сравнить значения двух параметров, нужно воспользоваться командой reg compare «ветвь реестра 1» «ветвь реестра 2» /v «параметр».

Чтобы сравнить значения двух параметров (по умолчанию), нужно воспользоваться командой reg compare «ветвь реестра 1» «ветвь реестра 2» /ve.

Чтобы сравнить значения всех параметров в ветви реестра, нужно воспользоваться командой reg compare «ветвь реестра 1» «ветвь реестра 2».

Чтобы сравнить значения всех параметров в ветви реестра и дочерних подразделах данной ветви, нужно воспользоваться командой reg compare «ветвь реестра 1» «ветвь реестра 2» /s.

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

  • /oa. Выводить как различия, так и совпадения.
  • /od. Выводить только различия.
  • /os. Выводить только совпадения.
  • /on. Выводить только слово Different или Identical.

Копирование подразделов и параметров Данная возможность является уникальной возможностью программы reg.exe. С ее помощью вы сможете скопировать содержимое одной ветви реестра в другую ветвь.

Чтобы скопировать содержимое ветви реестра и ее дочерних подразделов, достаточно воспользоваться командой Reg copy «ветвь реестра 1» «ветвь реестра 2» /s.

Экспорт и импорт реестра Еще одной возможность программы является экспорт ветви реестра в .reg-файл и импортирование reg-файла обратно в реестр.

Чтобы выполнить экспорт ветви реестра, достаточно воспользоваться командой reg export «ветвь реестра» «путь к файлу».

Чтобы выполнить импорт .reg-файла, достаточно воспользоваться командой reg export «путь к файлу».

Работа с файлами кустов Кроме того, с помощью программы reg.exe можно выполнять экспорт и импорт реестра в файлы кустов. Для этого достаточно воспользоваться командами reg save «ветвь реестра» «путь к файлу» и reg restore «ветвь реестра» «путь к файлу».

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

Чтобы загрузить файл куста, нужно воспользоваться командой reg load «ветвь реестра, в которую будет загружен куст» «путь к файлу куста».

Чтобы выгрузить файл куста, нужно воспользоваться командой reg load «ветвь реестра, в которую загружен куст».

Изменение флагов ветви реестра Данная возможность является уникальной возможностью программы reg.exe. С ее помощью можно изменить или просмотреть состояние дополнительных флагов определенной ветви реестра. Заметьте, что флаги поддерживают только дочерние подразделы ветви реестра HKLM\Software.

Программа reg.exe позволяет просмотреть значения следующих флагов: DONT_VIRTUALIZE, DONT_SILENT_FAIL, RECURSE_FLAG. Например, флаг DONT_VIRTUALIZE позволяет запретить виртуализацию соответствующей ветви реестра.

Чтобы просмотреть состояние всех флагов, достаточно воспользоваться командой reg flags «ветвь реестра» query.

Чтобы установить определенные флаги, нужно воспользоваться командой reg flags «ветвь реестра» set «флаги через пробел». При этом, если вы не укажете флаг, его состояние будет сброшено.

Чтобы сбросить все флаги, нужно воспользоваться командой reg flags «ветвь реестра» set.

Примеры Давайте рассмотрим ряд примеров использования данной программы.

reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer" /v "link" /t REG_BINARY /d 00000000. Создает параметр REG_BINARY типа link и присваивает ему значение 0. Она создает его в ветви HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer. После этого при создании ярлыка на файл или папку, к названию ярлыка больше не будет добавляться строка ЯРЛЫК ДЛЯ.

Reg.exe add "\\NOUTBOOK\HKLM\SOFTWARE\Classes\Directory\Background \shellex\ContextMenuHandlers\Flip3D" /ve /d "{3080F90E-D7AD-11D9-BD98-0000947B0257}" /f. Добавляет значение в параметр (по умолчанию) соответствующей ветви реестра. После выполнения данной команды в контекстном меню рабочего стола появится строка, с помощью которой можно вызвать диалог Flip3D в режиме залипания.

Reg delete "HKLM\Software\Microsoft\Command Processor" /v Autorun /f. Удаляет параметр autorun из ветви реестра, содержащей настройки программы cmd.exe. Если в данной ветви реестра присутствует параметр autorun, программы, записанные в нем, будут автоматически запускаться при запуске командного процессора cmd.exe. Для примера, создайте данный параметр и присвойте ему значение cmd.exe. тогда вы увидите пример рекурсии в действии.

Reg query "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem". Отображает на экране список параметров, хранящихся в реестре и описывающих работу файловой системы NTFS.

Reg compare "\\ni\HKLM\SOFTWARE\Policies" "HKLM\SOFTWARE\Policies" /s. Сравнивает содержимое ветви реестра, содержащей параметры групповых политик (и дочерних подразделов данной ветви реестра), компьютера NI с параметрами ветви локального компьютера.

Программа regini.exe

Программа regini.exe, которая раньше поставлялась как часть пакета Resource Kit, теперь устанавливается вместе с Windows Vista. Данная программа является программой командной строки, с помощью которой можно изменить права доступа пользователей к определенным ветвям реестра.

Работа данной программы основана на сценарии, который определяет ветви реестра, права для которых должна изменить программа. Основной синтаксис программы следующий: regini.exe -m \\«компьютер» «путь к файлу сценария». Если необходимо изменить права доступа к ветвям реестра локального компьютера, использование опции –m \\«компьютер» не обязательно.

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

  • \Registry\Machine вместо корневого раздела HKEY_LOCAL_MACHINE.
  • \Registry\Users вместо корневого раздела HKEY_USERS.
  • \Registry\User\«SID пользователя» вместо корневого раздела HKEY_CURRENT_USER.

То есть, каждая строка в сценарии должна соответствовать следующем формату: \Registry\«куст»\«остальная часть ветви реестра» [список разрешений доступа].

Разрешения доступа представляют собой число, которое одновременно определяет группу и права доступа, которые ей предоставляются. Полный список таких чисел можно увидеть, если ввести команду regini.exe /?.

Например, если в сценарии создать строку \Registry\Machine\Security [1 17], то администраторам и учетной записи локальной системы будут предоставлены права полного доступа к ветви реестра HKLM\SECURITY.

Удаленное редактирование реестра

Как при помощи программы regedit.exe, так и при помощи программы командной строки reg.exe можно изменять реестр удаленного компьютера. Кроме того, различные службы, запускаемые от имени учетной записи сетевой службы, также могут требовать возможности изменения реестра удаленного компьютера. Например, к таким службам относится репликатор службы репликации каталогов Active Directory.

Чтобы подключиться к удаленному компьютеру при помощи редактора реестра regedit.exe, нужно воспользоваться командой ПОДКЛЮЧИТЬ СЕТЕВОЙ КОМПЬЮТЕР… меню ФАЙЛ. После этого перед вами отобразится диалог ВЫБОР: КОМПЬЮТЕР, в котором нужно выбрать удаленный компьютер (рисунок 1).

Рисунок 1

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

Чтобы отредактировать права пользователей и групп, которым будет разрешен удаленный доступ к реестру локального компьютера, нужно воспользоваться ветвью реестра HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg. Права доступа к данной ветви реестра как раз и будут правами их удаленного доступа к реестру локального компьютера.

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

Кроме того, что вы можете разрешить или запретить определенному пользователю удаленный доступ ко всем ветвям реестра, вы можете разрешить удаленный доступ пользователей к определенным ветвям реестра. Для этого нужно воспользоваться параметрами типа REG_MULTI_SZ ветви HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedPaths.

  • Machine. Параметр содержит в себе список ветвей реестра корневого раздела HKEY_LOCAL_MACHINE, удаленный доступ к которым разрешен даже тем пользователям, которые не имеют полного удаленного доступа к реестру.
  • Users. Параметр содержит в себе список ветвей реестра корневого раздела HKEY_CURRENT_USER, удаленный доступ к которым разрешен даже тем пользователям, которые не имеют полного удаленного доступа к реестру.

Значение параметра Machine можно изменить при помощи элемента СЕТЕВОЙ ДОСТУП: УДАЛЕННО ДОСТУПНЫЕ ПУТИ И ВЛОЖЕННЫЕ ПУТИ РЕЕСТРА подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.

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

Для этого также нужно воспользоваться параметрами REG_MULTI_SZ типа Machine и Users. Однако в этом случае они должны находиться в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedExactPaths.

Значение параметра Machine данной ветви реестра можно изменить при помощи элемента СЕТЕВОЙ ДОСТУП: УДАЛЕННО ДОСТУПНЫЕ ПУТИ РЕЕСТРА подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.

Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=129

В избранное