2

Так что вот вам, ребята, острый ...

Я изменил разрешения для папки реестра (HKEY_CURRENT_USER\Control Panel\Keyboard) на "Запретить всех". У меня была веская причина для этого (длинная история), но это не решило мою проблему (каким-то образом система все еще меняет это ... ошеломляет).

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

Какие-нибудь идеи, которые не включают переустановку Windows? Я на Windows 10.

2 ответа2

4

Когда вы устанавливаете КАЖДЫЙ ДЕНЬ разрешений, вы получаете предупреждение о том, что только ВЛАДЕЛЕЦ ключа сможет изменить разрешения или получить к нему доступ. В моей системе Windows 10 владельцем является SYSTEM . В большинстве случаев это будет SYSTEM , TRUSTED INSTALLER или ADMINISTRATORS .

Поэтому мы можем исправить эту проблему, запустив regedit как SYSTEM . Для этого нам нужно скачать pstools и распаковать инструменты в папку на вашем компьютере. В моей системе я распаковал их в D:\Downloads .

Теперь мы хотим запустить Regedit как SYSTEM. Для этого откройте административную командную строку и перейдите в каталог, в который вы развернули файл PSTOOLS (CD D:\Downloads). В этой папке находится psexec. Мы запустим команду psexec -i -s regedit.exe и Regedit откроется.

Regedit теперь работает как пользователь SYSTEM. Поэтому HKEY_CURRENT_USER - это не ВАШ реестр, а системный реестр. Теперь мы должны перейти к вашему разделу реестра. Мы найдем это под HKEY_USERS. Этот ключ содержит реестр всех текущих подключенных (вошедших в систему) реестров пользователей.

В HKEY_USERS вы найдете серию ключей, которые начинаются с S-1-5-xxx и так далее. Более длинные ключи, оканчивающиеся на -1001, -1002 и т.д., Являются вашими вошедшими в систему пользователями. Разверните каждый из них, чтобы найти тот, который соответствует вашему реестру пользователей. Вы можете открыть ключ Environment под каждым из них, и вы, скорее всего, увидите элемент с именем пользователя, с которым связан ключ. С помощью этого метода вы можете найти правильный ключ S-1-5-xxx. По крайней мере, вы можете открыть каждый из них и проверить разрешения для Control Panel\Keyboard. Вы обязательно найдете, какой из них имеет плохие разрешения на это.

Теперь, когда вы знаете, как найти Control Panel\Keyboard клавишу клавиатуры , соответствующую вашей учетной записи, вы можете просто щелкнуть ее правой кнопкой мыши и изменить разрешения. Удалите ВСЕ ОТКРЫТОЕ разрешение.

Следует отметить, что система может продолжать вносить изменения в ключ, поскольку SYSTEM владеет ключом. Если вы пытаетесь запретить системе вносить изменения в этот ключ, то вам нужно изменить владельца ключа на собственное имя пользователя. Затем запретите SYSTEM вносить изменения в ключ. Однако вы не можете отказать "Полный контроль" в SYSTEM, иначе система даже не сможет прочитать ключ и не сказать, что произойдет. Вместо этого вам нужно будет перейти к "Расширенные разрешения" и отказать в разрешении "Задать значение".

2

Я думаю, что вам нужны некоторые сторонние инструменты (и ОС) для редактирования реестра, когда Windows находится в автономном режиме. Попробуйте утилиту редактирования реестра, которая может редактировать реестр Windows, пока он выключен.

Вот тот, который вы можете использовать:

https://pogostick.net/~pnh/ntpasswd/

Вы также можете попытаться отредактировать испорченный реестр на другом компьютере под управлением Windows с помощью "Загрузить куст" из меню "Файл" и добавить в него реестры с компьютера, которые необходимо исправить. (Но лично я предпочитаю делать такие вещи из ОС не Windows)

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

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