Cmd regedit команды. Работаем с реестром Windows: как запустить на компьютере программу regedit? Получение прав владельца на ключ реестра с использованием утилиты SubInACL

Реестр операционной системы 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 – regedit.exe и командную строку, через которую тоже можно заглянуть в недра системы.

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

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

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

В простом варианте реестр является базой, в которой хранятся параметры и настройки Windows: правила при открытии папок, внешний вид некоторых элементов, права доступа для пользователей и многое другое. Все эти параметры и настройки загружаются из ряда конфигурационных файлов, как например, всеми желаемый SAM (хеш-значение паролей). Все жизненно важные данные Windows хранятся в папке %SystemRoot% , каталог system32\config, это универсальное обозначение, варианты могут быть такими: С:\Windows\System32\config или С:\Windows.0\System32\config, все зависит от того, куда установлена операционная система. В первоначальных версиях 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_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current, она содержит информацию о текущей конфигурации оборудования.

В отличии от 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 , картина следующая:

Как видно, ветка HKLM\Security недоступна – название говорит само за себя, кстати, в ветке 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 параметры командной строки

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

По умолчанию утилита Regedit.exe в процессе установки операционной системы копируется в каталог %SystemRoot% (например, C:Windows). Обычно редактор реестра запускается с помощью команды Run (Выполнить) меню Start (Пуск).

Редактор реестра можно также запустить из командной строки с ключом /s. В этом случае Regedit.exe не будет предоставлять графического пользовательского интерфейса и не будет запрашивать подтверждения пользователя на выполнение указанной ему операции. Эта опция позволяет использовать редактор реестра в командных файлах. Например, чтобы выполнить импорт файла реестра MyRegSettings.reg в состав реестра без запроса подтверждения, дайте следующую команду: Regedit /s MyRegSettings.reg

Интерфейс программы Regedit

Окно редактора реестра Regedit.exe состоит из четырех основных областей (рис. 3).

Строка меню. В этой строке содержатся основные пункты меню: File, Edit, View, Favorites (этот пункт меню впервые был введен в Windows 2000) и Help.

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

Правая панель (правое подокно). Показывает текущие параметры выбранного ключа реестра, известные также как значимые элементы (value entires). Каждый параметр реестра характеризуется именем, отображаемым в столбце Name правой панели, типом данных, отображаемым в столбце Туре (на тип данных указывает и небольшой значок, расположенный чуть левее имени), и значением, отображаемым в столбце Data.

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

Рис. 3.

В окне редактора реестра Registry Editor отображаются ключи только верхнего уровня иерархии реестра, ответвляющиеся от значка My Computer. Это -- имена корневых ключей, базовая информация о которых была приведена еще в начале.

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

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

По достижении самого нижнего уровня вложения слева от вложенного ключа появится значок [-], который указывает, что дальнейшее раскрытие невозможно. После этого перемещение по иерархическому дереву будет возможно только в одном направлении -- вверх. Если рядом с ключом нет ни значка [+], ни значка [-], это означает, что он не содержит вложенных ключей.

В табл. 5 приведен список клавиш, используемых для просмотра реестра с помощью Regedit.exe

Таблица 5. Клавиши, используемые в Registry Editor

В правой панели окна Registry Editor располагаются параметры реестра, каждый из которых характеризуется именем, типом данных, и собственно данными.

Каждый параметр реестра характеризуется именем. Многие параметры, предоставляемые Microsoft, используют имя Default (вы убедитесь в этом, когда начнете интенсивно работать с Registry Editor). Имена параметров располагаются в столбце Name правой панели окна Registry Editor. Эти имена присваиваются значимым элементам разработчиками приложений и физических устройств.

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

Утилита Regedit.exe для удобства применяет также специальные значки, отображаемые чуть левее имен параметров и позволяющие быстро отличать двоичные данные от текстовых. Краткое описание значков, отображаемых в окне редактора реестра Regedit, приведено в табл. 6.

Таблица 6. Значки, соответствующие типам данных в окне Registry Editor

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

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

Команды меню File

Команда Import (Импорт) позволяет импортировать в реестр предварительно экспортированные REG-файлы и файлы ульев реестра.

Чтобы экспортировать ветвь реестра, выполните следующие действия:

  • 1. Выделите ветвь реестра, затем выберите в меню File (Файл) команду Export.
  • 2. В поле File name открывшегося диалогового окна Export Registry File (рис. 4) введите имя файла. По умолчанию файлу будет присвоено расширение reg. Чтобы сохранить экспортируемый файл в другом формате, выберите нужную опцию из списка Save as type, расположенного непосредственно под полем File name. Обратите внимание, что, несмотря на все внешнее сходство, утилиты Regedit.exe, поставляемые в составе Windows 9x, Windows NT 4.0, Windows 2000, Windows XP и Windows Server 2003, представляют собой разные версии этого приложения. Поэтому версия Regedit.exe из Windows XP или Windows Server 2003 позволяет сохранять экспортированные файлы реестра как в формате Windows XP/ Windows Server 2003 (для этой цели служит опция Registration Files (*.reg)), так и в формате файлов реестра Windows 9x/NT 4 (для этой цели служит опция Win9x/NT 4 Registration Files (*.reg)).

Рис. 4.

  • 3. Если требуется сохранить часть реестра, выбирайте опцию сохранения только выделенной ветви реестра. Для этого установите переключатель Selected branch из группы Export range. Однако, если вы часто модифицируете реестр, то экспорт всего реестра целиком -- неплохая идея. Это даст вам дополнительные гарантии восстановления в случае ошибки.
  • 4. Нажмите кнопку Save.

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

Нужно помнить, что файлы с расширением reg по умолчанию ассоциированы с приложением Regedit.exe. По умолчанию над такими файлами выполняется операция merge (слияние), которая импортирует содержимое данного файла в реестр. Чтобы избежать случайного импорта в реестр экспортированного файла, будьте внимательны и осторожны при обращении с такого рода файлами.

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

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

Команды Load Hive (Загрузить улей) и Unload Hive (Выгрузить улей) действуют по аналогии с одноименными командами, существовавшими в редакторе реестра Regedt32.exe. Они позволяют загрузить в реестр ранее сохраненный файл улья или выгрузить ранее загруженный файл улья соответственно. Следует отметить, что эти команды меню File действуют только применительно к ключам HKEY_USERS И HKEY_LOCAL_MACHINE и будут эфективны только в том случае, когда выбран один из этих ключей. Во всех остальных случаях эти команды будут недоступны. Улей, будучи загружен в реестр, станет вложенным ключом одного из упомянутых выше ключей.

Команда Connect Network Registry (Подключить сетевой реестр) позволяет выполнить редактирование реестра на другом компьютере, работающем в составе сети.

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

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

Команду Print из меню Registry можно использовать для распечатки выбранной ветви реестра (которая может потребовать довольно большое количество листов бумаги).

Команда Exit закрывает окно Regedit и завершает сеанс работы с этой программой.

Команды меню Edit

Команда Modify (Изменить) используется для изменения данных, содержащихся в составе параметров реестра. Эта опция будет доступна только в том случае, если выбрать один из параметров, перечисленных в правой панели окна Registry Editor. Команда Modify Binary Data (Изменить двоичные данные) позволяет редактировать любые данные (в том числе и данные других форматов) в окне двоичного редактора. Эта команда также будет доступна только в том случае, если выбран один из параметров реестра, перечисленных в правой панели окна редактора реестра.

Команда New (Создать) позволяет добавлять в реестр новые ключи и параметры строковых типов, двоичные параметры и параметры типа REG_DWORD (рис. 5). Выбирать тип параметра можно в подменю New в контекстном меню, раскрывающемся по нажатию правой кнопки мыши на выбранном ключе.


Рис. 5.

Опции Rename (Переименовать) и Delete (Удалить) меню Edit позволяют, соответственно, переименовать или удалить значимый элемент реестра. Удалить значимый элемент можно и другим способом: выделите нужный элемент, выполнив на нем щелчок мышью, а затем нажмите клавишу . Аналогичным образом, для быстрого переименования значимого элемента можно указать на него курсором, выполнить щелчок правой кнопкой мыши, выбрать из контекстного меню команду Rename и ввести новое имя.

Удаление параметров и ключей реестра с помощью утилиты Regedit -- это необратимая операция. Regedit не имеет команды Undo, поэтому при удалении параметров и ключей следует соблюдать осторожность.

Команда Copy Key Name (Копировать имя раздела) позволяет скопировать в буфер обмена имя ключа, выделенного на текущий момент. Впоследствии скопированное имя можно вставить в любой текст с помощью команды Paste (Вставить), имеющейся в любом текстовом редакторе. Поскольку реестр представляет собой сложную иерархическую базу данных, пути к нужному элементу могут оказаться очень длинными и сложными для запоминания. Поэтому многие по достоинству оценили удобство этой функции. Команду Copy Key Name очень удобно использовать в сочетании с командами Find и Find Next.

Команды Find (Найти) и Find Next (Найти далее) используются для поиска конкретных элементов или данных (включая строки и слова) в реестре. Можно выполнять поиск ключей, параметров, данных или любой их комбинации. Искомые значения могут быть как текстовыми, так и числовыми. Наконец, особого внимания заслуживает команда Permissions (Разрешения), которая позволяет управлять правами доступа к ключам реестра и осуществлять аудит действий в отношении ключей реестра. Здесь необходимо упомянуть, что в Windows NT/2000 эти возможности были доступны только в Regedt32.exe, где для их установки требовалось использовать опции меню Security. В Windows XP и Windows Server 2003 все эти функциональные возможности были интегрированы в состав редактора реестра Regedit.exe. Права доступа к ключам реестра можно назначать вне зависимости от типа файловой системы на разделе, где содержатся файлы операционной системы.

Изменение прав доступа к ключу реестра может иметь серьезные последствия. Например, если вы установите права доступа типа No Access на ключ, необходимый для конфигурирования сети с помощью опции Network Connections из Control Panel, то это приложение работать не будет. Права полного доступа (Full Control) к ключам реестра должны иметь, как минимум, члены группы Administrators и сама операционная система (Operating System). Такая установка прав доступа позволяет гарантировать возможность восстановления ключа реестра администратором при запуске системы.

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

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

В Regedit.exe команды из меню Permissions по назначению ключам реестра прав владельца и прав доступа работают по такому же принципу, как и аналогичные команды Windows Explorer по установке прав доступа к файлам и каталогам на разделах NTFS. Чтобы установить права доступа к конкретному ключу реестра, проделайте следующее:

  • 1. Перед внесением изменений выполните резервное копирование тех ключей реестра, на которые будут устанавливаться права доступа.
  • 2. Выделите ключ, на который собираетесь установить права доступа. После этого выберите команду Permissions меню Edit.
  • 3. В открывшемся диалоговом окне (рис.6) выберите имя нужного пользователя или группы в поле Group or user names (Группы или пользователи) и установите для них нужный тип прав доступа в поле Permissions for

Таблица 7. Типы прав доступа к ключам реестра

Рис. 6.

4. Чтобы установить аудит на доступ к реестру и задать комбинацию прав доступа типа Special Permissions, нажмите кнопку Advanced (Дополнительно). Раскроется диалоговое окно Advanced Security Settings for , где -- имя ключа, для которого требуется задать расширенные права доступа (рис. 7). Выберите имя пользователя или группы из списка Permission entries и нажмите кнопку Edit. Раскроется следующее окно (рис. 8), в котором вам будут предоставлены опции по расширенному редактированию прав доступа к ключам реестра. Типы прав доступа, которые вы сможете установить в этом окне, перечислены в табл. 8.

Таблица 8. Флажки диалогового окна Permission entry for

Назначаемые права

Дает право чтения значимых элементов из ключа реестра

Дает право установить значимый элемент в ключе реестра

Дает право создавать подключи в выбранном ключе реестра

Enumerate Subkey

Дает право идентифицировать подключи выбранного ключа реестра

Дает право установить аудит на ключи реестра

Дает право удаления выделенного ключа

Дает право получать доступ к ключу и создавать/модифицировать для него список контроля доступа (Access Control List, ACL)

Дает право присвоения прав владельца данного ключа

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


Рис. 7.

Рис. 8.

Как системный администратор, вы можете присвоить себе права владельца на ключ реестра и ограничить доступ к этому ключу. Заменить права владельца можно на вкладке Owner, а установить аудит -- на вкладке Auditing.

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

Аудит действий в отношении реестра

Чтобы установить аудит на действия в отношении реестра, необходимо выполнить следующие действия:

  • 1. Активизировать в системе аудит и задать политику аудита на все события, которые, с вашей точки зрения, подлежат аудиту.
  • 2. Указать пользователей и группы, за действиями которых в отношении выбранных ключей реестра требуется установить аудит. Воспользуйтесь для этого вкладкой Auditing (Аудит) окна, показанного на рис. 7.
  • 3. Результаты аудита можно просматривать в системном журнале Security с помощью оснастки Event Viewer.

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

Как минимум, при установке аудита необходимо выбрать опцию Failure (Отказ) для событий типа File and Object Access. Если выбрать опцию Success (Успех), то в системном журнале может появиться большое количество записей, не имеющих большой практической значимости.

Команды меню View

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

Опция Split (Разделить) перемещает курсор мыши на разделитель левой и правой частей окна Registry Editor, после чего остается только переместить мышь влево или вправо, чтобы найти удобную позицию для разделителя, и выполнить щелчок левой кнопкой мыши.

Команда Display Binary Data (Вывод двоичных данных) из меню View, впервые появившаяся в Windows XP, становится доступной только после того, как вы выберете один из параметров реестра, отображаемых в правой панели окна Registry Editor. Эта команда позволяет вам просматривать значение параметра, используя один из следующих трех форматов: Byte, Word или Dword (рис. 9). Обратите внимание, что эта команда не позволяет вам выполнять редактирование данных (если вам требуется выполнить именно эту операцию, следует выбрать команду Modify Binary Data из меню Edit).

В меню View имеется еще одна команда -- Refresh (Обновить). При внесении изменений в реестр не все они могут отображаться в окне редактора реестра немедленно после внесения модификации. Обновить окно Registry Editor можно с помощью команды Refresh или нажатием клавиши .

Как правило, в Windows NT 4.0 многие изменения (в том числе и внесенные путем редактирования реестра) входят в силу только после перезагрузки системы. В Windows 2000 впервые (для операционных систем Windows NT) была введена полноценная поддержка Plug and Play, которая была расширена и усовершенствована в Windows XP и Windows Server 2003. Поэтому перезагрузок потребуется меньше. Тем не менее, ряд модификаций все же входят в силу только после перезагрузки операционной системы.

Рис. 9. Окно Binary Data позволяет просматривать значение выбранного параметра реестра в одном из трех возможных форматов -- Byte, Word или Dword.


Меню Favorites

Одним из полезных новшеств, впервые появившихся в Windows 2000, является то, что пункт меню Favorites (Избранное) присутствует теперь повсюду, и редактор реестра Regedit.exe -- не исключение (рис. 10).

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

Чтобы добавить ключ реестра в список Favorites, проделайте следующее:

  • 1. Выделите ключ реестра, который требуется добавить в список Favorites.
  • 2. В меню Favorites выберите команду Add to Favorites (Добавить в избранное).
  • 3. В раскрывшемся диалоговом окне Add to Favorites (рис. 11) согласитесь с именем ключа, предложенным по умолчанию, или введите новое имя в поле Favorite name. Нажмите кнопку ОК, и ключ появится в списке Favorites.

Теперь вы в любой момент сможете быстро перейти к нужному ключу, выбрав его имя из списка Favorites. Удалить ключ реестра из списка Favorites очень просто -- для этого достаточно выбрать в меню Favorites команду Remove Favorite (Удалить из избранного), а затем в раскрывшемся диалоговом окне выделить ключ, который требуется удалить из списка Favorites, и нажать кнопку ОК.


Рис. 10.

Рис. 11. Диалоговое окно Add to Favorites

Реестр Windows — это самая главная база данных в этой операционной системе. Через него можно отредактировать работу практически любой программы. Для работы в нём существует специальный редактор, который открывает файлы реестра и предоставляет их в удобном для работы представлении — в виде так называемых веток. Как он выглядит на практике — Вы можете увидеть на картинке выше.
Каким же образом открыть редактор реестра Виндовс — Regedit.exe, если в списке программ его нет?
На самом деле запускает он — проще некуда.

1 способ. Актуально для Windows 7. Нажимаем кнопку Пуск и в строке поиска набираем слово — regedit . В результатах поиска должен отобразиться искомый ярлычок «Регедит».

Отлично! Кликаем по значку и редактор реестра Виндовс запустится. Если Вы работаете не под Администратором, то по ярлыку надо будет кликнуть правой кнопкой мыши и выбрать пункт меню «Запустить под Администратором».

В Виндовс 10 это выглядит вот так:

2 способ. Этот вариант более удобен для Windows 8 и 8.1, так как там нет нормальной кнопки «Пуск». На клавиатуре нажимаем комбинацию клавиш Win+R. Откроется окно «Выполнить»:

В нем набираем слово regedit и нажимаем кнопку OK. Кстати, так делали ещё на древней Виндовс 2000 и чуть более новой Windows XP.

3 способ. Командная строка. Ещё один из классических способов открыть редактор «Регэдит» — это запустить его из командной строки с правами администратора. Для этого нажимаем кнопку Пуск и вводим слово «Командная». В найденных результатах кликаем правой кнопкой на найденном значке системной консоли и в контекстном меню выберите пункт «Запуск от имени Администатора». Появится вот такое черное окошко:

пишем команду «regedit» и нажимаем клавишу Enter.

4 способ . Через проводник. Вам просто надо зайти на системный раздел, где установлена операционная система и открыть папку Windows. В ней будет лежать файлик regedit.exe. Запускаем его и вуа-ля — откроется реестр!

Внимание! Если же вдруг при попытке запуска редактор не открывается и не работают программы CCleaner, RegCelaner и т.п., то читайте статью . Чаще всего такое происходит после работы вируса и к этому надо отнестись со всей серьёзностью.

В этой статье излагаются базовые принципы работы с реестром 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-файлах можно найти в .