Как запустить редактор реестра от имени администратора - Компьютерный журнал
Sdscompany.ru

Компьютерный журнал
46 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как запустить редактор реестра от имени администратора

Редактор реестра в Windows

1. Запуск от имени администратора

Необходим если у текущего пользователя нет прав администратора (не включён в группу «администраторы»).

1.1. Через окно «Выполнить» и меню «Пуск»

Выполнить: Win+R > введите команду » runas /user:Администратор regedit «.
Вместо пользователя Administrator можно указать другого с необходимыми правами

Пуск (windows 7) или Win+S (windows 10) > введите в поле поиска «regedit » > правый клик на пункт «regedit» в списке > запуск от имени администратора.

1.2. Запуск ярлыком

  • Правый клик на рабочем столе > Cоздать > Ярлык > Укажите в поле «Расположение объекта»: %windir%regedit.exe > Далее > Готово.
  • Правй клик на ярлыке > Cвойства > Дополнительно > Запуск от имени администратора > Ок > Ок.

2. Разделы и параметры

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

Кусты — это файлы без расширений, которые подключаются в разделах HKEY_USERS и HKEY_LOCAL_MACHINE . Их можно выгрузить или загрузить командами «Файл > Загрузить куст» и «Файл > Выгрузить куст». Команды будут активны только при установке курсора на этих разделах.

  • Список кустов и расположение их файлов

HKEY_LOCAL_MACHINESystem — Windowssystem32configsystem;
HKEY_LOCAL_MACHINESAM — Windowssystem32configsam;
HKEY_LOCAL_MACHINESecurity — Windowssystem32configsecurity;
HKEY_LOCAL_MACHINESoftware — Windowssystem32configsoftware;
HKEY_CURRENT_USER — ntuser.dat;
HKEY_CURRENT_CONFIG — Windowssystem32configsystem;
HKEY_USERS.DEFAULT — файл Windowssystem32configdefault.

При указании кустов возможно использование их сокращений:

Редактировать разделы и параметры можно правой кнопкой.

2.1. Разрешения

Владельцами некоторых разделов являются учётная запись «СИСТЕМА» и служба «TrustedInstaller». Поэтому для их редактирования не достаточно прав Администратора.

Для смены владельца:

  1. Правый клик на разделе > Разрешения > Кнопка «Дполнительно»;
  2. В строке «Владелец» запомните учётную запись владельца и регистр букв > нажмите «Изменить»;
  3. Введите имя текущего пользователя или любого с правами администратора > «Проверить имена» > ОК;
  4. Отметьте строку «Заменить владельца подконтейнеров и объектов» > ОК;
  5. Кнопка «Добавить» > Введите имя пользователя > Кнопка «Проверить имена» > ОК;
  6. В столбце «Разрешить» отметьте «Полный доступ» > ОК.

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

Если владельцем раздела была служба «TrustedInstaller» — при восстановлении прав введите в поле учётной записи «NT ServiceTrustedInstaller».

3. Резервное копирование и восстановление

Можно создать и восстановить резервные копии как всего реестра так и отдельных его ветвей. Файлы сохраняются с расширением *.reg.

Для создания резервной копиии реестра: правый клик на необходимой ветке реестра > экспортировать > укажите имя файла и папку для экспорта.

Для восстановления из резервной копии: правый клик на *.reg файле > слияние > подтвердить действие в окне предупреждения.

4. Параметры командной строки

По умолчанию возможен запуск только одного экземпляра редактора.
Команда regedit -m позволяет запустить несколько окон редактора.

regedit [ /s /e /a ] :путь .reg

/e — экспорт данных в reg файл, в кодировке UNIСODE.
/a — экспорт данных в reg файл, в кодировке ANSI.
/s — импорт из reg-файла без необходимости подтверждения.
ввод команды без ключей — импорт из reg-файла c необходимостью подтверждения на внесение изменений в реестр.

regedit /e с:registry.reg
экспорт реестра в файл C:registry.reg в формате UNIСODE;

regedit /ea c:hklm-run.reg HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
экспорт ветки реестра со списком автозапуска всех пользователей в файл С:hklm-run.reg в кодировке ANSI ;

regedit /s c:hklm-run.reg
импорт из файла С:hklm-run.reg без требования подтверждения

Для удаления веток реестра используется импорт из reg-файла. В содержании файла указано имя ветки для удаления со знаком «минус»:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINESOFTWARETmpFolder]

Для удаления значения параметра, без удаления самого параметра, в содержании файла указывается имя ветки, имя параметра и значение параметра — знак «минус»:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWARETmpFolder]
«TmpParameter»=-

Как получить полный доступ к разделу реестра

Содержание

Причины отсутствия доступа к реестру

В некоторые разделы реестра Windows 7 изменения не может внести даже администратор, работающий в редакторе реестра, который запущен с полными правами. Это происходит потому, что у группы «Администраторы» нет прав на запись в этот раздел реестра. Причин для этого может быть три:

    • Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
    • Владельцем раздела является системная служба TrustedInstaller. Эта служба работает в рамках комплекса по укреплению безопасности операционной системы, но для любителей «поковырять» реестр она представляет собой досадную помеху на пути к цели. В этом случае нужно сначала стать владельцем раздела, а затем выдать своей группе полные права.
    • Владельцем раздела является системная учетная запись «Система». В этом случае можно поступить так же, как и с TrustedInstaller, но я также расскажу, как использовать другой способ, не связанный с изменениями разрешений.

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

Получение полных прав и смена владельца

Я полагаю, что в редакторе реестра у вас уже открыт нужный раздел.

    1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
    2. Выделите группу «Администраторы»:
      • Если доступен флажок Полный доступ, установите его и нажмите кнопку ОК. Этого может оказаться достаточно, если группа является владельцем раздела

      • Если флажок недоступен или вы видите сообщение об ошибке, переходите к пункту 3.
    1. Нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
    2. Здесь я рекомендую различный подход в зависимости от владельца раздела.
      • Если владельцем является TrustedInstaller, выделите свою учетную запись, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.
Читать еще:  Диспетчер задач под администратором

    • Если владельцем является Система, можно поступить так же

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

Возвращение исходных прав и восстановление владельца

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

  1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
  2. Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.

  • Нажмите кнопку Дополнительно и перейдите на вкладку Владелец. Вы увидите, что в отличие от вашей учетной записи, в списке нет служебных учетных записей Система и TrustedInstaller. Их нужно добавлять в список, как описано ниже.
  • Нажмите кнопку Другие пользователи и группы и в качестве имени объекта введите:
    • NT ServiceTrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
    • система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)
    • Нажмите кнопку ОК.

    Теперь нужная учетная запись есть в списке. Выделите ее, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.

    Исходные права и владелец раздела реестра восстановлены.

    Внесение изменений в реестр от имени учетной записи «Система»

    Если владельцем раздела реестра является специальная учетная запись «Система», существует способ внести изменения в раздел, не изменяя владельца и разрешений. Для этого используется утилита PsExec, входящая в набор утилит Марка Руссиновича PsTools. Суть способа сводится к запуску редактора реестра от имени системы.

    1. Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
    2. Откройте командную строку от имени администратора и выполните команду:

    psexec -i -s regedit

    Запустится редактор реестра, причем от имени системы, что задается параметром — s.

    В этом легко убедиться с помощью другой утилиты Марка Руссиновича – Process Explorer. В свойствах процесса видно, от чьего имени он запущен.

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

    К сожалению, я не нашел способа запустить редактор реестра от имени TrustedInstaller.

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

    Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы прав администратора не требуется (например, вы вручную предоставили необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, при запуске такой программы из-под простого пользователя, если на компьютере включен контроль учетных записей, появится запрос UAC и от пользователя потребует ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Естественно, оба этих способа небезопасны.

    Зачем обычному приложению могут понадобится права администратора

    Права администратора могут потребоваться программе для модификации неких файлов (логи, конфигурации и т.д.) в собственной папке в C:Program Files (x86)SomeApp). По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора. Чтобы решить эту проблему, нужно под администратором на уровне NTFS вручную назначить на папку с программой право на изменение/запись для пользователя (или группы Users).

    Примечание . На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это вопрос уже о лени и некомпетентности разработчиков.

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

    Ранее мы уже описывали, как можно отключить запрос UAC для конкретной программы , с помощью параметра RunAsInvoker. Однако этот метод недостаточно гибкий. Также можно воспользоваться RunAs с сохранением пароля админа /SAVECRED (также небезопасно). Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC ).

    Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:windowssystem32). При запуске regedit.exe появляется окно UAC и, если не подтвердить повышение привилегии, редактор реестра не запускается.

    Создадим на рабочем столе файл run-as-non-admin.bat со следующим текстом:

    cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %1″

    Теперь для принудительного запуска приложения без права администратора и подавления запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.

    После этого редактор реестра должен запустится без появления запроса UAC. Открыв диспетчер процессов, и добавим столбец Elevated (С более высоким уровнем разрешений), вы увидите, что в системе имеется процесс regedit.exe с неповышенным статусом (запущен с правами пользователя).

    Попробуйте отредактировать любой параметр в ветке HKLM. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKCU.

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

    Set ApplicationPath=»C:Program FilesMyApptestapp.exe»
    cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»

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

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT*shellforcerunasinvoker]
    @=»Run as user without UAC elevation»
    [HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]
    @=»cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» «%1″»»

    После этого для запуска любого приложения без прав админа достаточно выбрать пункт « Run as user without UAC elevation » в контекстном меню.

    Переменная окружения __COMPAT_LAYER и параметр RunAsInvoker

    Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:

    set __COMPAT_LAYER=Win7RTM 640×480

    Из интересных нам опций переменной __COMPAT_LAYER выделим следующие параметры:

    • RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC.
    • RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора).
    • RunAsAdmin — запуск приложение с правами администратора (запрос AUC появляется всегда).

    Т.е. параметр RunAsInvoker не предоставляет права администратора, а только блокирует появления окна UAC.

    Вадим Стеркин

    В некоторые разделы реестра Windows изменения не может внести даже администратор, работающий в редакторе реестра, который запущен с полными правами. Это происходит потому, что у группы «Администраторы» нет прав на запись в этот раздел реестра. Причин для этого может быть две:

    • Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
    • Владельцем раздела являются системная учетная запись Система или TrustedInstaller (Вторая служит в рамках комплекса по укреплению безопасности операционной системы, но для любителей «поковырять» реестр она представляет собой досадную помеху на пути к цели). В этом случае можно сначала стать владельцем раздела, а затем выдать своей группе полные права. Но есть и более интересные альтернативы — утилиты для запуска исполняемых файлов от имени этих учетных записей.

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

    На этой странице

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

    Получение полных прав и смена владельца

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

    Windows 8 и новее

    1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
    2. Выделите группу «Администраторы»:
      • Если доступен флажок Полный доступ, установите его и нажмите кнопку ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
      • Если флажок недоступен или вы видите сообщение об ошибке, переходите к пункту 3.
    3. Нажмите кнопку Дополнительно, нажмите ссылку Изменить вверху окна, введите адрес электронной почты учетной записи Microsoft или имя локальной учетной записи, проверьте имя и нажмите кнопку ОК.
    4. Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК.
    5. Установите флажок «Полный доступ», как описано в пункте 2.

    Windows 7

    1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
    2. Выделите группу «Администраторы»:
      • Если доступен флажок Полный доступ, установите его и нажмите кнопку ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
      • Если флажок недоступен или вы видите сообщение об ошибке, переходите к пункту 3.
    3. Нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
    4. Здесь я рекомендую различный подход в зависимости от владельца раздела.
      • Если владельцем является TrustedInstaller, выделите свою учетную запись, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.
      • Если владельцем является Система, можно поступить так же, но лучше сделать иначе.
    5. Установите флажок «Полный доступ», как описано в пункте 2.

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

    Возвращение исходных прав и восстановление владельца

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

    Windows 8 и новее

    1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.

  • Нажмите кнопку Дополнительно, нажмите ссылку Изменить вверху окна и введите имя учетной записи:
    • NT ServiceTrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
    • система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)

  • Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК.
  • Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.
  • Windows 7

    1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
    2. Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.
    3. Нажмите кнопку Дополнительно и перейдите на вкладку Владелец. Вы увидите, что в отличие от вашей учетной записи, в списке нет служебных учетных записей Система и TrustedInstaller. Их нужно добавлять в список, как описано ниже.
    4. Нажмите кнопку Другие пользователи и группы и в качестве имени объекта введите:
      • NT ServiceTrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
      • система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)
      • Нажмите кнопку ОК.

    Теперь нужная учетная запись есть в списке. Выделите ее, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.

    Исходные права и владелец раздела реестра восстановлены.

    Внесение изменений в реестр от имени учетной записи «Система»

    Если владельцем раздела реестра является специальная учетная запись «Система», существует способ внести изменения в раздел, не изменяя владельца и разрешений. Для этого используется утилита PsExec, входящая в набор утилит Марка Руссиновича PsTools. Суть способа сводится к запуску редактора реестра от имени системы.

    1. Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
    2. Откройте командную строку от имени администратора и выполните команду:

    Запустится редактор реестра, причем от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения).

    В этом легко убедиться с помощью другой утилиты Марка Руссиновича – Process Explorer. В свойствах процесса видно, от чьего имени он запущен.

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

    Внесение изменений в реестр от имени учетной записи TrustedInstaller

    Попробуйте эти утилиты:

    • Trusted Shell (64-разрядная версия в архиве, пароль: tshell ). Достаточно запустить утилиту с правами администратора, затем в командной строке ввести regedit. Автор, Дмитрий Стариков, рассказывает о принципах работы в комментариях к этой записи.
    • DevxExec. Краткие инструкции в комментариях.

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

    Метки: sysinternals, реестр Информация в статье применима к Windows 7 и новее

    Об авторе

    Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.

    Вас также может заинтересовать:

    Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!

    Как получить полный доступ к разделу реестра через реестр или командную строку?

    Получение полного доступа к разделу реестра, используя программу regedit или командную строку.

    Изменение разрешений и владельца для получения полного доступа к разделу реестра.

    1. Нажмите кнопку Пуск и введите в строке поиска regedit
    2. Щелкните на найденном правой кнопкой мыши и выберите пункт Запуск от имени администратора.
    3. Откройте раздел реестра, права которого Вы желаете изменить.
    4. В списке слева, щелкните на данном разделе реестра правой кнопкой мыши и выберите пункт Разрешения.
    5. Щелкните левой кнопкой мыши на группу Администраторы (Administrators):
    6. Установите флажок в колонке Разрешить напротив разрешения Полный доступ и нажмите кнопку ОК.
    7. Если флажок недоступен или Вы видите сообщение об ошибке, то нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
    8. Щелкните левой кнопкой мыши на свою учетную запись, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.
    9. Выделите группу Администраторы (Administrators), установите флажок Полный доступ и нажмите кнопку ОК.
    10. Если у Вас отсутствует группа Администраторы (Administrators), то нажмите поочередно кнопки Добавить. → Дополнительно. → Поиск
    11. В результатах поиска выберите Администраторы (Administrators) и нажмите кнопку OK, и еще раз ОК.
    12. Щелкните левой кнопкой мыши на группу Администраторы (Administrators) и установите флажок в колонке Разрешить напротив разрешения Полный доступ и нажмите кнопку ОК.

    Восстановление настроек, если владельцем являлись служба TrustedInstaller или учетная запись Система.

    1. Щелкните правой кнопкой мыши на разделе реестра, права которого Вы желаете восстановить и выберите пункт Разрешения.
    2. Щелкните левой кнопкой мыши на группу Администраторы:
    3. Снимите флажок в колонке Разрешить напротив разрешения Полный доступ и нажмите кнопку Применить.
    4. Нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
    5. Нажмите кнопку Другие пользователи или группы. и в качестве имени объекта в текстовом поле введите:
    • NT SERVICETrustedInstaller , если владельцем являлась служба TrustedInstaller
    • система , если владельцем являлась учетная запись Система (в английской Windows 7 нужно вводить System)

    6.В окне Изменить владельца на: выберите TrustedInstaller или система .
    7. Установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.

    А теперь рассмотрим как можно изменить разрешения, используя командную строку запущенную от имени администратора.
    Если после использовании команды, разрешения не сменятся, то возможно Вам придется зайти в систему под встроенной учётной записью «Администратор» для их выполнения заново.

    Изменение разрешений используя командную строку.

    1. Создайте в любом месте txt-файл (Например в папке D:Reg создайте файл regperm.txt)
    2. Добавьте в данный файл разделы реестра и присваиваемые им разрешения в следующем формате: Registryкустраздел [разрешения]

    где куст – имя куста реестра, раздел – имя раздела реестра, а [разрешения] – двоичный числовой формат разрешений.

    Обозначения используемые для кустов реестра:

    Ссылка на основную публикацию
    ВсеИнструменты 220 Вольт
    Adblock
    detector