Восстановить разрешения реестра Windows по умолчанию для раздела служб

Восстановить разрешения реестра Windows по умолчанию для раздела служб

У меня проблема с разрешениями реестра. Во время использования ПК он завис из-за проблемы с контроллером SSD. После перезагрузки и замены SATA на SSD ПК смог распознать SSD и запустить Windows 8.1. Но похоже, что разрешения для служб в реестре сбиты. Многие службы не смогли запуститься из-за Access Deniedпроблемы.

Process Monitorговорит, что они пытались получить доступ к HKLM\System\CurrentControlSet\Control\разделу. Мои типичные разрешения для узлов реестра в этом разделе:

Users > Read access
Administrators > Full Control access
SYSTEM > Full Control access
CREATOR OWNER  > Full Control access
ALL APPLICATION PACKAGES  > Full Control access

И разрешения, специфичные для сервиса, теряются. Я могу восстановить разрешения вручную, например, я добавил NT SERVICE\Dhcpв HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp, и тогда сервис смог нормально запуститься. Но трудно понять, каким ключам должен быть разрешен доступ для каких сервисов. Я могу использовать , Process Monitorчтобы получить эти данные, но это может быть слишком долго. Другой способ - я могу дать пользователю Everyone, но это небезопасный способ.Full controlHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\

Итак, есть ли какой-либо существующий способ восстановить разрешения по умолчанию для ключей реестра служб? Я пытался восстановить его с помощью secedit, но это не помогло. Я также могу попробовать выполнить восстановление Windows с установочного DVD, но это может занять много времени. Может быть, есть существующий способ для таких вещей?

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

Функция восстановления системы Windows отключена, поэтому я не могу выполнить восстановление с ее помощью.

решение1

Многие службы не смогли запуститься из-за проблемы «Отказано в доступе».

Вместо того чтобы искать способ отката разрешений, я попытаюсь дать другую точку зрения на решение той конкретной проблемы, которую я процитировал.

Вы можете попробовать предоставить необходимые разрешения пользователю для всего дерева ключей реестра службы с помощьюУстановитьACLприложение, которое вы можете скачать здесь (оно бесплатное):

https://helgeklein.com/download/


Шаги

  1. Выполните восстановление точки, в противном случае откройте командную строку (CMD.exe) и выполните следующие заказы, чтобы создать резервную копию дерева ключей сервиса:

    Reg.exe Export "HKLM\SYSTEM\CurrentControlSet\Services" "%Userprofile%\Desktop\CurrentControlSet.reg"
    

    И:

    Reg.exe Export "HKLM\SYSTEM\ControlSet001\Services" "%Userprofile%\Desktop\ControlSet001.reg"
    

    (он будет сохранен как скрипт реестра на рабочем столе текущего пользователя)

  2. Выполните эти команды, чтобы стать владельцем и получить полный доступ текущего пользователя к деревьям ключей реестра:

    "SetACL.exe" -on "HKLM\SYSTEM\CurrentControlSet\Services" -ot "reg" -ownr "n:%UserName%"        -rec "Yes" -actn "setowner" -silent
    "SetACL.exe" -on "HKLM\SYSTEM\CurrentControlSet\Services" -ot "reg" -ace  "n:%UserName%;p:full" -rec "Yes" -actn "ace"      -silent
    

    И:

    "SetACL.exe" -on "HKLM\SYSTEM\ControlSet001\Services" -ot "reg" -ownr "n:%UserName%"        -rec "Yes" -actn "setowner" -silent
    "SetACL.exe" -on "HKLM\SYSTEM\ControlSet001\Services" -ot "reg" -ace  "n:%UserName%;p:full" -rec "Yes" -actn "ace"      -silent
    
  3. Перезагрузите ПК и проверьте, привело ли это к ожидаемому снятию отказа в доступе.

Связанный контент