CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Аватара пользователя
Anton04

CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Anton04 »

Пытаюсь реализовать задачу по добавлению некоторых пунктов в меню элемента Windows 10 "Этот компьютер".



1. Хочу сменить владельца на ветку реестра "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell".

2. Дать полный доступ группе "Администраторы" на эту же ветку.

3. Внести нужные изменения.

4. Вернуть значения доступа ветки реестра и владельца в исходное состояние.



Вот на первом пункте возникла накладка...



При выполнении команды в cmd (запущенной от имени "Администратора":



Код:

Код: Выделить всё

subinacl /keyreg "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell" /setowner=Администраторы /grant=Администраторы=f

получаю результат "...RegSetKeySecurity Error: 5 Отказано в доступе".



Почему не срабатывает данная команда я не понял. Изображение Изображение
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Petya V4sechkin »

Anton04, а если двумя командами, сначала /setowner, затем /grant.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Iska »

Petya V4sechkin,



Попробовал, ничего не поменялось. Результат выполнения команд во вложении.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Iska »

Цитата Anton04:



Попробовал, ничего не поменялось.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Э… По сравнению с чем «ничего не поменялось»? С этим:


Цитата Anton04:



получаю результат "...RegSetKeySecurity Error: 5 Отказано в доступе".
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




?! Ибо на скриншоте я вижу, что владелец сменён, права назначены.
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Petya V4sechkin »

Цитата Iska:



Э… По сравнению с чем «ничего не поменялось»?
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Не поменялся владелец, проверяю визуально в редакторе реестра.




Цитата Iska:



Ибо на скриншоте я вижу, что владелец сменён, права назначены.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Я это тоже вижу, но по факту владелец ветки остался прежним и права тоже. Изображение
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Petya V4sechkin »

Anton04, а система у вас 64-битная?

Интересно, работает ли subinacl корректно в 64-битной системе.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Iska »

Цитата Petya V4sechkin:



Интересно, работает ли subinacl корректно в 64-битной системе.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Оно самое:



Скрытый текст

[spoiler]Изображение[/spoiler]
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Petya V4sechkin »

Iska, а почему выдаёт NAME NOT FOUND?



Anton04, поскольку 64-битной версии subinacl нет, можете использовать другую утилиту, например
SetACL.exe
.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Iska »

Цитата Petya V4sechkin:



Интересно, работает ли subinacl корректно в 64-битной системе.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Например NTFS разрешения на файлы в 64-bit`ной системе subinacl редактирует корректно.




Цитата Petya V4sechkin:



поскольку 64-битной версии subinacl нет, можете использовать другую утилиту, например SetACL.exe.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Об данной утилите я знаю, просто хотелось использовать относительно стандартную утилиту от MS.



Тогда вопрос, а что в данном случае рекомендует использовать MS в командной строке? Или у MS ответ один - PowerShell ?
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)

Сообщение Iska »

Цитата Petya V4sechkin:



Iska, а почему выдаёт NAME NOT FOUND?
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Registry Keys Affected by WOW64 (Windows)




Потому, что в перенаправленном …\Wow6432Node\… нет такого раздела. Для x64 приложений указанный раздел напрямую (без рефлексии на Wow6432Node) виден и доступен. (На всякий случай, по скриншоту — я для экспериментов специально создавал раздел с GUID, отличающимся от существующего последней буквой, «e» вместо «d»; с ним и игрался) И как я понимаю, извне это перенаправление обращений в реестр для x86-приложений под x64 ОС никак не отключить.




Цитата Anton04:



Например NTFS разрешения на файлы в 64-bit`ной системе subinacl редактирует корректно.
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Вот не думаю.




Цитата Anton04:



Тогда вопрос, а что в данном случае рекомендует использовать MS в командной строке? Или у MS ответ один - PowerShell ?
CMD/BAT - [решено] Сменить владельца ключа реестра (subinacl)




Уже упомянутый SetACL.exe и, не поверите — старичка
Regini.exe
.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»