В некоторые разделы реестра 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, с таким описанием проблемы вам нужно обращаться к сертифицированному телепату. Удачи!
Вадим, за статью огромное спасибо.
Данная статья применима также к папкам и файлам.
С помощью изменения и возврата прав на папки смог исправить глюк (зависание) в своём компьютере, за что тебе еще раз огромное спасибо.
Иван, я очень рад, что статья помогла вам!
Да, конечно, материал вполне применим к папками и файлам. Просто я не концентрировался на этом в момент написания, потому что на OSZone уже давно была статья Как получить доступ к файлам, папкам, разделам реестра в Windows Vista и Windows 7. Я же хотел подчеркнуть необходимость восстановления исходных прав, а также «безболезненное» внесение изменений с помощью psexec.
ОГРОМНОЕ ВАМ СПАСИБО!!!!
Скажите, можно ли проводить манипуляции по предоставлению доступа к ветви реестра через командную строку?
А именно, смена владельца с и на TrustedInstaller?
Для того, чтобы ускорить процесс, указанный в статье: https://www.outsidethebox.ms/12317/
Да, #4
нашел , но не проверял (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. Если в пути содержатся пробелы, то заключайте его в кавычки)
Спасибо! Попробую на досуге :)
Думаю стоит обновить руководство для Windows 8, некоторые моменты сильно изменились.
Присоединяюсь. На своей Windows 8.1 что-то не получилось изменить права.
Что, не смогли найти ссылку «Изменить» в дополнительных параметрах?
Замечательная статья ! А главное, вовремя, а то у меня не получалось редактировать некоторые разделы реестра. Спасибо!
Добрый день! Делаю всё как написано в статье, а сменить владельца не удается. Пишет «не удается установить нового владельца». Уже не знаю что делать.. Может подскажете?
Елена, не подскажу, ибо даже не знаю, что конкретно вы делаете и зачем.
В таблице безопасности Win 8.1 нет такой строки:
«Заменить владельца подконтейнеров и объектов».
Я довольно неплохо знаю и управляюсь с реестром XP, то тут тупик, ничего не получается. Хотел в Win 8.1 удалить из реестра записи Hyper-V, так как виртуальной машины мне не додали по определению. Остатки файлов из WinSxS удалил, а из реестра никак.
Есть, следуйте инструкциям внимательно
Вот при помощи таких танцев с бубнами мне удалось удалить около двухсот ключей реестра несуществующей, в моей Win 8.1 виртуальной макли Hyper-V
ПКМ — на ключе реестра (который нужно удалить)
ЛКМ — «Разрешения»
В таблице «Разрешения для группы» — ЛКМ «администраторы ( ) администраторы» «Дополнительно»
В таблице «Дополнительные параметры безопасности» — «Владелец» — «изменить»
В таблице «Выбор: Пользователь или Группа» ввести имя владельца «проверить имена» — ок
В таблице «Дополнительные параметры безопасности» поставить галку «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта»- Применить
в таблице «Безопасность Windows» — да
В таблице «Дополнительные параметры безопасности» — ОК
В таблице «Разрешение для группы» — ЛКМ — «администраторы ( ) администраторы» — «полный доступ» поставить галку применить ОК
Ключ реестра — ПКМ — ЛКМ — удалить в таблице Подтверждение удаления раздела ОК
Вынося за скобки смысл ваших действий (а точнее — его отсутствие), хочу отметить, что в своем сообщении вы повторили мои инструкции, касающиеся смены владельца. Другими словами, внимательное их прочтение помогло бы, но вы предпочли поставить минус к моему комментарию :)
Не хотел вступать в полемику, но из — за ваших ответов приходится. Ваши инструкции замечательны, но относятся они к Win 7 и к Win 8, а к Win 8.1, ввиду изменения порядка доступа к разрешениям реестра и изменением вида таблиц, подходят мало, вернее даже совсем не подходят и только вынесенные за скобки мои бессмысленные действия, смысл которых вообще отсутствует, приводят к нужному результату. Вместо того, чтобы априори укорять оппонента в плагиате, взяли бы сами и повторили свой путь на Win 8.1.
Пишу для того, чтобы юзеры, желающие поломать свой реестр, имели для этого возможность.
Здорого. Есть вопрос по поводу реестра. Остатся ли в реестре записи об игре в онлайе игру , если есть то как найти и как удалить. Если важно то игра «Аллоды онлайн». Помоги плз.
Не совсем понял, зачем нужно было создавать NT Service профиль…
Он есть изначально
Сделала все по инструкции, мне выдает :»Не удалось установить нового владельца на NameSpace.
Отказано в доступе. Что делать?
Что именно вы делали, где именно? Перечислите подробно и пошагово.
Что делать если во время смены владельца ошибка выскакивает очень часто (хоть мелкие и пишут что не обращайте внимания). То есть щелкать приходится очень часто на эту ошибку. Есть ли способ избежать этого окна в процессе смены владельца ?
Владимир, пишите в форум, не совершая эти ошибки.
Добрый день! Делаю все по инструкции но толку нет.
Мне необходимо удалить раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
т.е. инфу об ранее подключаемых usb
Владелец админ. У пользователя все возможные права. Захожу в ветку меняю права на USBSTOR нормально. А вот «заменить владельца (права) подконтольных объектов» не получается Ошибка «редактор реестра не может задать владельца для выбранного раздела или одного из его подразделов.
То же самое для каждого раздела ветки USBSTOR если их по одному изменять.
Меняла владельца и права у C:\Windows\regedit
Не могу удалить историю и назначить права и назначить владельца в разделах!!!! Win 7 32
аааааааааааааааааааааааааааааааааааааааа
Юля, см. пункт 4 в http://forum.oszone.net/showthread.php?&t=129646 и продолжайте там при необходимости.
Можно и не менять владельца. Сделал утилиту, которая работает с правами TrustedInstaller.
http://technopriest.ru/registry-edit-with-trusted-installer-permissions
Достаточно запустить с ключом /shell и в командной строке ввести regedit.
Если скачать zip-архив, там есть файл trusted-shell.bat, который запускает программу с нужным параметром.
Дмитрий, расскажите подробнее, как в утилите реализована работа с правами TI.
Утилита получает токен процесса winlogon и перезапускает себя с его правами, затем запускает службу TrustedInstaller и получает токен соответствующего процесса, и снова перезапускает себя уже с правами TI. Далее идет работа с реестром или запуск cmd.
Если попробовать сразу получить токен TrustedInstaller, то будет отказ в доступе, поэтому приходится делать в 2 этапа =) Но плюс что никакие дополнительные службы не устанавливаются, достаточно прав администратора.
Технически это происходит так: вызов OpenProcess для получения дескриптора процесса winlogon, передача его в OpenProcessToken, затем DuplicateTokenEx (создаем дубликат токена) и CreateProcessWithTokenW который создает наш процесс с дубликатом токена от winlogon.
Потом делаем то же самое для TrustedInstaller.exe и у нас полные права.
На сайте есть исходник, можно отредактировать код функции TrustedMain под свои задачи (он выполняется после получения полных прав).
http://s017.radikal.ru/i439/1510/71/a48cfbbb4b59.png
ну и какой пароль там должен быть?
Ну, и внимательно перечитайте статью, и комментарии заодно.
Спасибо за информацию автору статьи и комментаторам про 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, например, внести изменения удаётся?!
Михаил, оно не может «не работать для некоторых». Смотрите, кто владелец проблемного раздела. Кроме того, даже у Системы может не быть прав. Думайте, разбирайтесь.
[Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
1.Откройте командную строку от имени администратора и выполните команду:
psexec -i -s regedit
2.Запустится редактор реестра, причем от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения).] ©
по инструкции вошла в реестр, при попытке внести изменения выходит ошибка: «Не удается изменить «…». Ошибка при записи нового значения параметра»
Значит, у SYSTEM нет надлежащих прав.
Здравствуйте Вадим. У меня 7-ка. Делал все по инструкции. Все изменения получились, но не получается восстановить TrustedInstaller. Пробовал несколько раз, пишет: «Не удалось найти обьект (Пользователь ….) с именем TrustedInstaller. Открываю типы обьектов, там все галочки включены. Если есть выход подскажите.
Получилось. Заменил место поиска.
Мне реально помогла статья. Спасибо!