Утилита regedit и параметры командной строки

Утилита regedit и параметры командной строки Командная строка

В этой статье мы рассмотрим утилиту для работы с реестром Windows – regedit.exe и командную строку, через которую тоже можно заглянуть в недра системы.

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

Утилита regedit командная строка

Прежде всего давайте начнем с основ. Ну, во-первых, стоит понимать, что сам реестр не является единым целым, его нельзя скопировать, удалить или модифицировать стандартными способами, которые применимы к большинству файлов, хранящихся на вашем жестком диске. Для роботы с ним применяют специальные программы-редакторы, как например, regedit.exe, параметры командной строки позволяют также редактировать реестр, для этого применяется утилита reg. Что бы запустить программу regedit.exe (или regedit32.exe), нужно в меню Пуск/Выполнить просто ввести имя программы, или, ввести в консольном окне командной строки regedit.exe и нажать Enter.

В простом варианте реестр является базой, в которой хранятся параметры и настройки Windows: правила при открытии папок, внешний вид некоторых элементов, права доступа для пользователей и многое другое. Все эти параметры и настройки загружаются из ряда конфигурационных файлов, как например, всеми желаемый SAM (хеш-значение паролей). Все жизненно важные данные Windows хранятся в папке %SystemRoot%, каталог system32config, это универсальное обозначение, варианты могут быть такими: С:WindowsSystem32config или С:Windows.0System32config, все зависит от того, куда установлена операционная система. В первоначальных версиях Windows вместо реестра использовали *.ini файлы, что было довольно неудобно и создавало ряд ограничений.

При просмотре реестра через редактор regedit (командная строка ему сильно уступает в плане графики) пред нашим взором предстают две колонки, в левой находятся список корневых разделов (root keys) реестра. Каждая ветка, как правило, включает в свой состав вложенные ветки (sub keys) и параметры. Существует пять основных разделов:

  • HKEY_CLASSES_ROOT — в простом варианте он содержит данные о типах файлов и ассоциируемые с ними приложения.
  • HKEY_CURRENT_USER — данный куст является ссылкой на HKEY_USERSИдентификатор пользователяСодержит установки для текущего пользователя (рабочий стол, переменные среды, приложения)
  • HKEY_LOCAL_MACHINE — это пожалуй самая важная ветка, поскольку тут хранится глобальные настройки, которые применимы ко всем пользователям. Тут и прописываются вирусы.
  • HKEY_USERS— настройки среды для каждого пользователя, что живет в системе — профили пользователя.
  • HKEY_CURRENT_CONFIG — это по сути ссылка на ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesCurrent, она содержит информацию о текущей конфигурации оборудования.

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

  • HKCR – HKEY_CLASSES_ROOT
  • HKCU — HKEY_CURRENT_USER
  • HKLM — HKEY_LOCAL_MACHINE
  • HKU — HKEY_USERS
  • HKCC — HKEY_CURRENT_CONFIG

Поскольку суть статьи это знакомство с утилитой regedit командная строка, то и использовать для этого мы будем CMD. Запустив оболочку (через пусквыполнитьcmd или же создав текстовый файл, прописав в нем cmd, поменяв расширение на bat и запустив) попробуем просмотреть вкратце, какие средства предоставляет командная строка для изучения системного реестра. И так, существует утилита reg которая входит в состав пакетаSupport tools в Windows 2000, если вы счастливый обладатель XP и выше, то она присутствует там по дефолту. Что бы просмотреть определенную ветку, например, раздел HKLM стоит ввести команду reg query HKLM, картина следующая:

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

regedit параметры командной строки

Как видно, ветка HKLMSecurity недоступна – название говорит само за себя, кстати, в ветке SAM вы тоже ничего не найдете. В эти ветки вход разрешен только под системной учетной записью. Кстати, если у вас установлена семерка, то желательно саму командную строку запускать от имени администратора, а то, многие вещи просто не получатся. Проблема решается при использовании утилиты psexec из пакета PsUtils(автор Марк Русинович, большой ему респект). Просто скопируете ее в каталог %SystemRoot%\system32, введите в командной строке

psexec –s –i regedit.exe

и вуаля, происходит запуск реестра от имени локальной системной учетной записи, теперь вы можете просмотреть подразделы System и SAM. И еще, понятно, что утилита должна запускаться под администратором, если в XP Sp3 все проходит на ура, то в Семерке есть ряд трудностей, если просто произвести запуск командной строки и ввести команду psexec –s –i regedit, то вам выбьет «отказано в доступе». Тогда заходим в каталог System32 и запускаем CMD от имени администратора, и…. облом. При запуске самой утилиты на компьютере появляется новая служба PsExecSvc, Семерка ее игнорирует или просто блокирует, в результате видим ошибку: Error communicating with PsExec service. Видимо разработчики прикрыли эту лазейку, разбираться просто времени пока нет, но все впереди.

regedit параметры командной строки

О том, как копировать, удалять и производить различные манипуляции с реестром посредством командной строки я напишу в следующих постах. По теме, можете просмотреть методы сервера сценариев Windows Script Host объекта WScript.Shell — RegWrite, RegRead и RegDelete

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий