Назад | Перейти на главную страницу

команда REGEDIT в командной строке (редактировать) без всплывающего окна

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

REGEDIT /S somefile.reg

Он работает нормально, за исключением того, что для разрешения этой команды требуется и начальный щелчок. Есть ли способ обойти это? Я (временно) отключаю UAC с помощью редактирования реестра, но до тех пор он включен. Спасибо.

Курица и яйцо, а?

А если серьезно, то, что вы пытаетесь сделать, «не предполагается» возможным, потому что UAC (хотя и отвергается Microsoft как не формальная граница безопасности) - это своего рода граница безопасности.

В среде домена вы должны управлять контролем учетных записей пользователей из групповой политики (параметр «Контроль учетных записей пользователей: запускать всех администраторов в режиме утверждения администратором» в разделе «Параметры безопасности \ Локальные политики \ Параметры безопасности» в разделе «Компьютер» групповой политики - это то, что вы наверное ищете).

Если вы находитесь в среде, не относящейся к домену, вам необходимо запустить сценарий в контексте с уже повышенными привилегиями. Как говорит @womble в своем комментарии, вам нужно будет обойти UAC, чтобы отключить UAC, не вызывая UAC. Сценарий запуска компьютера был бы одним из мест, где вы могли бы запустить это. Однако, чтобы установить его в качестве сценария запуска, вам нужно будет повысить свои права. Тогда вы вернулись к курице и яйцу.

Если вы обращаетесь к местоположениям в реестре, для которых не требуются права администратора, вы можете использовать __COMPAT_LAYER переменная окружения, просто выполните это перед использованием regedit:

set __COMPAT_LAYER=RunAsInvoker