В некоторые разделы реестра Windows или папки изменения не может внести даже администратор, работающий в редакторе реестра или файловом менеджере, который запущен с полными правами.
Это происходит потому, что у группы «Администраторы» нет прав на запись в этот раздел реестра или папку. Причин для этого может быть две:
- Группа «Администраторы» является владельцем раздела или папки, но не имеет полных прав на объект. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела реестра или папки являются системная учетная запись Система или TrustedInstaller (Вторая служит в рамках комплекса по укреплению безопасности операционной системы, но для любителей «поковырять» систему она представляет собой досадную помеху на пути к цели). В этом случае можно сначала стать владельцем раздела или папки, а затем выдать своей группе полные права. Но есть и более интересные альтернативы — утилиты для запуска исполняемых файлов от имени этих учетных записей.
Далее я покажу, как внести изменения в реестр при недостатке прав. Я также объясню, как восстановить исходные разрешения, и почему это нужно делать.
👉 Инструкции в этой статье одинаково применимы к разделам реестра и папкам файловой системы. Реестр используется в качестве примера.
На этой странице
Как делать грамотно и быстро
Быстрее всего запускать редактор реестра или командную строку с правами системы или TrustedInstaller и вносить изменения. Тогда не надо будет тратить время на смену прав и их восстановление.
Внесение изменений в реестр от имени учетной записи «Система»
Если владельцем раздела реестра является специальная учетная запись «Система», существует способ внести изменения в раздел, не изменяя владельца и разрешений. Для этого используется утилита PsExec, входящая в набор утилит Марка Руссиновича PsTools. Суть способа сводится к запуску редактора реестра от имени системы.
- Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
- Откройте командную строку от имени администратора и выполните команду:
psexec64 -i -s regedit
Запустится редактор реестра, причем от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения).
В этом легко убедиться с помощью другой утилиты Марка Руссиновича – Process Explorer. В свойствах процесса видно, от чьего имени он запущен.
Теперь вы можете вносить изменения в разделы реестра, владельцем которых является учетная запись «Система».
Внесение изменений в реестр от имени учетной записи TrustedInstaller
Вы можете использовать скрипт PowerShell, т.е. обойтись без сторонних средств, коих великое множество:
- Trusted Shell (64-разрядная версия в архиве, пароль:
tshell
). Достаточно запустить утилиту с правами администратора, затем в командной строке ввести regedit. Автор, Дмитрий Стариков, рассказывает о принципах работы в комментариях к этой записи. - DevxExec. Краткие инструкции в комментариях.
- ExecTI от Winaero.
- RunAsTI. Запуск от имени системы и/или TrustedInstaller. Принцип работы по ссылке. По информации участников форума, утилита работает из setupcomplete.cmd в отличие от tshell и devxexec.
- PowerRun. Запуск от имени системы и/или TrustedInstaller.
- Advanced Run от NirSoft
- SuperUser. Запуск от имени TrustedInstaller.
Как делать неграмотно и медленно
В Windows 8 слегка изменился графический интерфейс смены владельца, что стало непреодолимым препятствием для ряда читателей, судя по комментариям. Мне претит, когда на одной странице дублируются практически одинаковые инструкции, но другие варианты еще хуже. Поэтому выбирайте инструкции для своей ОС. Я полагаю, что в редакторе реестра у вас уже открыт нужный раздел реестра.
Получение полных прав и смена владельца
По ходу дела вы увидите, кто является владельцем раздела реестра. Если это Система или TrustedInstaller, можно воспользоваться подходящей утилитой ↓
Windows 8 и новее
- Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
- Выделите группу «Администраторы»:
- Если доступен флажок Полный доступ, установите его и нажмите кнопку ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
- Если флажок недоступен или вы видите сообщение об ошибке, переходите к пункту 3.
- Нажмите кнопку Дополнительно, нажмите ссылку Изменить вверху окна, введите адрес электронной почты учетной записи Microsoft или имя локальной учетной записи, проверьте имя и нажмите кнопку ОК.
- Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК.
- Установите флажок «Полный доступ», как описано в пункте 2.
Windows 7
Теперь ничто не препятствует записи в этот раздел реестра. Однако я рекомендую восстановить права, когда вы закончите редактирование раздела.
Возвращение исходных прав и восстановление владельца
После внесения изменений в реестр я советую вернуть исходные права и восстановить владельца, чтобы не снижать безопасность системы. Кроме того, на форум не раз обращались за помощью люди, у которых правильная работа системы нарушалась после того, как у системной учетной записи TrustedInstaller было отобрано владение.
Windows 8 и новее
- Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
- Нажмите кнопку Дополнительно, нажмите ссылку Изменить вверху окна и введите имя учетной записи:
- NT Service\TrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
- система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)
- Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК.
- Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.