Вы должны войти, чтобы создавать сообщения и темы.

Удалить ветку в реестре к которой нет доступа

Всем привет! Мне нужно средствами c# (в крайнем случае cmd) удалить эту ветку "HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}". Проблема в том что просто удалить эту ветку не получается, так как к ней нет доступа, даже через regedit. Как я могу получить к ней доступ? Может есть какой-то аналог takeown для реестра?

Цитата: Владимир от 15.03.2022, 05:17

Всем привет! Мне нужно средствами c# (в крайнем случае cmd) удалить эту ветку "HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}". Проблема в том что просто удалить эту ветку не получается, так как к ней нет доступа, даже через regedit. Как я могу получить к ней доступ? Может есть какой-то аналог takeown для реестра?

Привет.
setacl
Можно запустить cmd с правами TI и оттуда уже удалить. 
Запустить cmd с правами TI можно через супердоступ W10T, RunAsTI и др.

Лайкнул Владимир
Владимир

setacl

SetACL мне не подходит, так как весит 600кб, что для моего приложения много.

Можно запустить cmd с правами TI и оттуда уже удалить.

 Спасибо, этот вариант мне подошёл, я нашел как встроить в свою программу возможность запуска cmd от имени системы.

Но появилось ещё несколько вопросов:
1 - Можно ли поднять, привилегии моей программы во время её работы?
2 - Можно ли отправлять команды в уже открытую cmd от имени системы? (Нашел метод AttachConsole, но не понимаю как именно что-то отправить с его помощью, ведь он принимает только id процесса)