В некоторые разделы реестра Windows или папки изменения не может внести даже администратор, работающий в редакторе реестра или файловом менеджере, который запущен с полными правами.
Это происходит потому, что у группы «Администраторы» нет прав на запись в этот раздел реестра или папку. Причин для этого может быть две:
- Группа «Администраторы» является владельцем раздела или папки, но не имеет полных прав на объект. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела реестра или папки являются системная учетная запись Система или TrustedInstaller (Вторая служит в рамках комплекса по укреплению безопасности операционной системы, но для любителей «поковырять» систему она представляет собой досадную помеху на пути к цели). В этом случае можно сначала стать владельцем раздела или папки, а затем выдать своей группе полные права. Но есть и более интересные альтернативы — утилиты для запуска исполняемых файлов от имени этих учетных записей.
Далее я покажу, как внести изменения в реестр при недостатке прав. Я также объясню, как восстановить исходные разрешения, и почему это нужно делать.
👉 Инструкции в этой статье одинаково применимы к разделам реестра и папкам файловой системы. Реестр используется в качестве примера.
На этой странице
- Как делать грамотно и быстро
- Внесение изменений в реестр от имени учетной записи «Система»
- Внесение изменений в реестр от имени учетной записи 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
- Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
- Выделите группу «Администраторы»:
- Если доступен флажок Полный доступ, установите его и нажмите кнопку ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
- Если флажок недоступен или вы видите сообщение об ошибке, переходите к пункту 3.
- Нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
- Здесь я рекомендую различный подход в зависимости от владельца раздела.
- Если владельцем является TrustedInstaller, выделите свою учетную запись, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.
- Если владельцем является Система, можно поступить так же, но лучше сделать иначе.
- Установите флажок «Полный доступ», как описано в пункте 2.
Теперь ничто не препятствует записи в этот раздел реестра. Однако я рекомендую восстановить права, когда вы закончите редактирование раздела.
Возвращение исходных прав и восстановление владельца
После внесения изменений в реестр я советую вернуть исходные права и восстановить владельца, чтобы не снижать безопасность системы. Кроме того, на форум не раз обращались за помощью люди, у которых правильная работа системы нарушалась после того, как у системной учетной записи TrustedInstaller было отобрано владение.
Windows 8 и новее
- Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
- Нажмите кнопку Дополнительно, нажмите ссылку Изменить вверху окна и введите имя учетной записи:
- NT Service\TrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
- система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)
- Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК.
- Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.
Windows 7
- Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения.
- Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить.
- Нажмите кнопку Дополнительно и перейдите на вкладку Владелец. Вы увидите, что в отличие от вашей учетной записи, в списке нет служебных учетных записей Система и TrustedInstaller. Их нужно добавлять в список, как описано ниже.
- Нажмите кнопку Другие пользователи и группы и в качестве имени объекта введите:
- NT Service\TrustedInstaller, если владельцем являлась учетная запись TrustedInstaller
- система, если владельцем являлась учетная запись Система (в английской ОС нужно вводить System)
- Нажмите кнопку ОК.
- Теперь нужная учетная запись есть в списке. Выделите ее, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК.
vitoz114
нифига чёт у меня не получается. хоея всё делаю как написано
Vadim Sterkin
vitoz114, с таким описанием проблемы вам нужно обращаться к сертифицированному телепату. Удачи!
Иван
Вадим, за статью огромное спасибо.
Данная статья применима также к папкам и файлам.
С помощью изменения и возврата прав на папки смог исправить глюк (зависание) в своём компьютере, за что тебе еще раз огромное спасибо.
Vadim Sterkin
Иван, я очень рад, что статья помогла вам!
Да, конечно, материал вполне применим к папками и файлам. Просто я не концентрировался на этом в момент написания, потому что на OSZone уже давно была статья Как получить доступ к файлам, папкам, разделам реестра в Windows Vista и Windows 7. Я же хотел подчеркнуть необходимость восстановления исходных прав, а также «безболезненное» внесение изменений с помощью psexec.
Анастасия
ОГРОМНОЕ ВАМ СПАСИБО!!!!
Toshan
Скажите, можно ли проводить манипуляции по предоставлению доступа к ветви реестра через командную строку?
А именно, смена владельца с и на TrustedInstaller?
Для того, чтобы ускорить процесс, указанный в статье: https://www.outsidethebox.ms/12317/
Vadim Sterkin
Да, #4
Oleksandr
нашел , но не проверял (3. Запуск редактора реестра от имени пользователя TrustedInstaller, для удаления и редактирования заблокированных разделов.
Если Вам необходимо запустить программу от имени пользователя TrustedInstaller, то выполните для этого следующее:
1) Зайдите на сайт http://developex.com/custom-software/devxexec.html
2) Скачайте файл devxexec.exe.
3.1) Если у Вас 32-битная Windows, то скопируйте файл devxexec.exe в папку C:\Windows\System32
3.2) Если у Вас 64-битная Windows, то скопируйте файл devxexec.exe в папки: C:\Windows\System32 и C:\Windows\SysWOW64
4) Откройте диалоговое меню Выполнить из меню Пуск (Win + R)
5) Введите указанную ниже команду и нажмите Enter ↵:
Эта команда запустит редактор реестра от имени пользователя TrustedInstaller.
Таким же образом, Вы можете запустить и другие программы для редактирования реестра, Пример: Registry Workshop
Внимание: При работе с Devxexec обязательно полностью указывайте путь к программе, которую Вы желаете запустить от имени пользователя TrustedInstaller. Если в пути содержатся пробелы, то заключайте его в кавычки)
Vadim Sterkin
Спасибо! Попробую на досуге :)
Кохэна
Думаю стоит обновить руководство для Windows 8, некоторые моменты сильно изменились.
Радик
Присоединяюсь. На своей Windows 8.1 что-то не получилось изменить права.
Vadim Sterkin
Что, не смогли найти ссылку «Изменить» в дополнительных параметрах?
Александр
Замечательная статья ! А главное, вовремя, а то у меня не получалось редактировать некоторые разделы реестра. Спасибо!
Елена Можайкина
Добрый день! Делаю всё как написано в статье, а сменить владельца не удается. Пишет «не удается установить нового владельца». Уже не знаю что делать.. Может подскажете?
Vadim Sterkin
Елена, не подскажу, ибо даже не знаю, что конкретно вы делаете и зачем.
ffiilliipp
В таблице безопасности Win 8.1 нет такой строки:
«Заменить владельца подконтейнеров и объектов».
Я довольно неплохо знаю и управляюсь с реестром XP, то тут тупик, ничего не получается. Хотел в Win 8.1 удалить из реестра записи Hyper-V, так как виртуальной машины мне не додали по определению. Остатки файлов из WinSxS удалил, а из реестра никак.
Vadim Sterkin
Есть, следуйте инструкциям внимательно
ffiilliipp
Вот при помощи таких танцев с бубнами мне удалось удалить около двухсот ключей реестра несуществующей, в моей Win 8.1 виртуальной макли Hyper-V
ПКМ — на ключе реестра (который нужно удалить)
ЛКМ — «Разрешения»
В таблице «Разрешения для группы» — ЛКМ «администраторы ( ) администраторы» «Дополнительно»
В таблице «Дополнительные параметры безопасности» — «Владелец» — «изменить»
В таблице «Выбор: Пользователь или Группа» ввести имя владельца «проверить имена» — ок
В таблице «Дополнительные параметры безопасности» поставить галку «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта»- Применить
в таблице «Безопасность Windows» — да
В таблице «Дополнительные параметры безопасности» — ОК
В таблице «Разрешение для группы» — ЛКМ — «администраторы ( ) администраторы» — «полный доступ» поставить галку применить ОК
Ключ реестра — ПКМ — ЛКМ — удалить в таблице Подтверждение удаления раздела ОК
Vadim Sterkin
Вынося за скобки смысл ваших действий (а точнее — его отсутствие), хочу отметить, что в своем сообщении вы повторили мои инструкции, касающиеся смены владельца. Другими словами, внимательное их прочтение помогло бы, но вы предпочли поставить минус к моему комментарию :)
ffiilliipp
Не хотел вступать в полемику, но из — за ваших ответов приходится. Ваши инструкции замечательны, но относятся они к Win 7 и к Win 8, а к Win 8.1, ввиду изменения порядка доступа к разрешениям реестра и изменением вида таблиц, подходят мало, вернее даже совсем не подходят и только вынесенные за скобки мои бессмысленные действия, смысл которых вообще отсутствует, приводят к нужному результату. Вместо того, чтобы априори укорять оппонента в плагиате, взяли бы сами и повторили свой путь на Win 8.1.
Пишу для того, чтобы юзеры, желающие поломать свой реестр, имели для этого возможность.
Олег Медяков
Здорого. Есть вопрос по поводу реестра. Остатся ли в реестре записи об игре в онлайе игру , если есть то как найти и как удалить. Если важно то игра «Аллоды онлайн». Помоги плз.
Ivan Abramenkov
Не совсем понял, зачем нужно было создавать NT Service профиль…
Vadim Sterkin
Он есть изначально
Яна Довнар
Сделала все по инструкции, мне выдает :»Не удалось установить нового владельца на NameSpace.
Отказано в доступе. Что делать?
Vadim Sterkin
Что именно вы делали, где именно? Перечислите подробно и пошагово.
Владимир Каширин
Что делать если во время смены владельца ошибка выскакивает очень часто (хоть мелкие и пишут что не обращайте внимания). То есть щелкать приходится очень часто на эту ошибку. Есть ли способ избежать этого окна в процессе смены владельца ?
Vadim Sterkin
Владимир, пишите в форум, не совершая эти ошибки.
Юля Черненко
Добрый день! Делаю все по инструкции но толку нет.
Мне необходимо удалить раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
т.е. инфу об ранее подключаемых usb
Владелец админ. У пользователя все возможные права. Захожу в ветку меняю права на USBSTOR нормально. А вот «заменить владельца (права) подконтольных объектов» не получается Ошибка «редактор реестра не может задать владельца для выбранного раздела или одного из его подразделов.
То же самое для каждого раздела ветки USBSTOR если их по одному изменять.
Меняла владельца и права у C:\Windows\regedit
Не могу удалить историю и назначить права и назначить владельца в разделах!!!! Win 7 32
аааааааааааааааааааааааааааааааааааааааа
Vadim Sterkin
Юля, см. пункт 4 в http://forum.oszone.net/showthread.php?&t=129646 и продолжайте там при необходимости.
Dmitry Starikov
Можно и не менять владельца. Сделал утилиту, которая работает с правами TrustedInstaller.
http://technopriest.ru/registry-edit-with-trusted-installer-permissions
Достаточно запустить с ключом /shell и в командной строке ввести regedit.
Если скачать zip-архив, там есть файл trusted-shell.bat, который запускает программу с нужным параметром.
Vadim Sterkin
Дмитрий, расскажите подробнее, как в утилите реализована работа с правами TI.
Dmitry Starikov
Утилита получает токен процесса winlogon и перезапускает себя с его правами, затем запускает службу TrustedInstaller и получает токен соответствующего процесса, и снова перезапускает себя уже с правами TI. Далее идет работа с реестром или запуск cmd.
Если попробовать сразу получить токен TrustedInstaller, то будет отказ в доступе, поэтому приходится делать в 2 этапа =) Но плюс что никакие дополнительные службы не устанавливаются, достаточно прав администратора.
Dmitry Starikov
Технически это происходит так: вызов OpenProcess для получения дескриптора процесса winlogon, передача его в OpenProcessToken, затем DuplicateTokenEx (создаем дубликат токена) и CreateProcessWithTokenW который создает наш процесс с дубликатом токена от winlogon.
Потом делаем то же самое для TrustedInstaller.exe и у нас полные права.
На сайте есть исходник, можно отредактировать код функции TrustedMain под свои задачи (он выполняется после получения полных прав).
Джозепе Верде
http://s017.radikal.ru/i439/1510/71/a48cfbbb4b59.png
ну и какой пароль там должен быть?
Vadim Sterkin
Ну, и внимательно перечитайте статью, и комментарии заодно.
Andrew D
Спасибо за информацию автору статьи и комментаторам про TrustedInstaller!
Предложу еще один способ запуска от системы:
Утилита GiveMePower!
http://www.wagnardmobile.com/forums/viewtopic.php?f=6&t=6
Давид
На каждый газ есть противогаз. И слава богу.
Вы все, энтузиасты и популяризаторы (модное когда-то словечко) — очень большие молодцы!
Михаил Маюров
Похоже запуск regedit через psexec Не работает на Windows 10, для некоторых веток реестра, по крайней мере не удаётся внести изменения в ветку Каспёрского: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\KasperskyLab\AVP15.0.2\environment
вылезает сообщения «Ошибка записи в реестр», а при попытке сменить владельца раздела «Отказано в доступе», и это при выключенном каспере. В то же время, в ветку Classes, например, внести изменения удаётся?!
Vadim Sterkin
Михаил, оно не может «не работать для некоторых». Смотрите, кто владелец проблемного раздела. Кроме того, даже у Системы может не быть прав. Думайте, разбирайтесь.
phenomen
[Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
1.Откройте командную строку от имени администратора и выполните команду:
psexec -i -s regedit
2.Запустится редактор реестра, причем от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения).] ©
по инструкции вошла в реестр, при попытке внести изменения выходит ошибка: «Не удается изменить «…». Ошибка при записи нового значения параметра»
Vadim Sterkin
Значит, у SYSTEM нет надлежащих прав.
Vovan Vovanov
Здравствуйте Вадим. У меня 7-ка. Делал все по инструкции. Все изменения получились, но не получается восстановить TrustedInstaller. Пробовал несколько раз, пишет: «Не удалось найти обьект (Пользователь ….) с именем TrustedInstaller. Открываю типы обьектов, там все галочки включены. Если есть выход подскажите.
Vovan Vovanov
Получилось. Заменил место поиска.
Denis Yakovlev
Мне реально помогла статья. Спасибо!