2

Есть ли способ через приложение CLI или GUI предоставить права администратора ВСЕМ ключам / значениям всего реестра Hive (например, System, SAM, ntuser.dat и т.д.)?

Проблема в том, что я использую инструмент Dism , предоставленный Microsoft, для обслуживания и развертывания Windows , я пытаюсь выполнить некоторые операции Dism которые удаляют предустановленные пакеты из образа WIM, который я ранее смонтировал, я могу удалить несколько пакетов, но для большинства из них Dism сообщает мне, что у меня отказано в доступе к Hives, поэтому я полагаю, что для правильного удаления некоторых пакетов Dism необходимо обновить или удалить ключи из Hives WIM , затем мне нужно предоставить права администратора к этим ключам!

Обычно я использую приложение SetACL для предоставления прав администратора на один или несколько ключей / значений локального реестра, но для улья я понятия не имею, как это сделать.

PS: я потратил несколько дней, пытаясь исследовать и искать информацию, но к тому моменту я не нашел ЛЮБОЙ существующей информации, связанной с тем, как выполнить эту операцию, почему ?, почему нет (или, по крайней мере, ее нелегко найти) информация об операции такого рода по всей всемирной паутине ? Я скучаю по пониманию реальной проблемы или что-то делаю не так ?.

Это команда, которую я использую:

.\Dism.exe /Remove-Package /PackageName:"(name)" /Image:"(mounted dir)" /English /LogPath:"(file.log)" /LogLevel:"2"

И это пример из журнала, который полон таких ошибок Hive:

2014-04-12 04:29:18, ошибка CBS Только владельцы пакетов могут удалить пакет: Checkpoint-VpnPlugin-Package ~ 31bf3856ad364e35 ~ amd64 ~ es-ES ~ 6.3.9600.16384 [HRESULT = 0x80070005 - E_ACCESSDENIED]

2014-04-12 04:29:18, Info CBS Не удалось выгрузить автономный реестр: {bf1a281b-ad7b-4476-ac95-f47682990ce7} C:/WinMount/Windows/System32/config/ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, клиент может по-прежнему нуждаться в его открытии , [HRESULT = 0x80070005 - E_ACCESSDENIED]

2014-04-12 04:29:18, Info CBS Не удалось выгрузить автономный реестр: {bf1a281b-ad7b-4476-ac95-f47682990ce7} C:/WinMount/Windows/System32/config/ SYSTEM, клиент может по-прежнему нуждаться в его открытии , [HRESULT = 0x80070005 - E_ACCESSDENIED]

2014-04-12 04:29:18, Info CBS Не удалось выгрузить автономный реестр: {bf1a281b-ad7b-4476-ac95-f47682990ce7} C:/WinMount/Windows/System32/config/ SECURITY, клиент может по-прежнему нуждаться в его открытии , [HRESULT = 0x80070005 - E_ACCESSDENIED]

2014-04-12 04:29:18, Info CBS Не удалось выгрузить автономный реестр: {bf1a281b-ad7b-4476-ac95-f47682990ce7} C:/WinMount/Users/default/ntuser.dat, клиент может по-прежнему нуждаться в его открытии , [HRESULT = 0x80070005 - E_ACCESSDENIED]

Я делаю все это в VirtualMachine.

Я не знаю, имеет ли это значение, но обратите внимание, что я предоставил полные права администратора для всех файлов и папок подключенного каталога, я могу копировать / писать / удалять из системных ограниченных каталогов, я имею в виду, что, кажется, у меня нет любая проблема с правами на файлы.

1 ответ1

2

То, что вы хотите сделать, не работает из коробки. Вы получаете E_ACCESSDENIED, потому что пакеты все еще принадлежат Windows Edition. Вы должны убить эту зависимость в первую очередь.

На какое-то время уже есть инструмент, который делает все шаги за вас.

Запустите install_wim_tweak.exe /p <MountPath> /l чтобы перечислить все пакеты. Теперь запустите install_wim_tweak.exe /p <MountPath> /c FEATURE /r чтобы убить его.

Пример:

install_wim_tweak.exe /p "C:\Mount" /c Microsoft-Hyper-V /r

Это убивает все связанные с Hyper-V функции из смонтированного WIM в папке C:\Mount.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .