При запуске многие программы требуют повышения прав, хотя  на самом деле им не нужны права администратора для их нормальной работы. При запуске такой программы под учетной записью обычного пользователя (если на компьютере включен контроль учетных записей пользователей) появится приглашение UAC, и пользователю потребуется ввести пароль администратора. Чтобы обойти этот механизм, многие пользователи просто отключают UAC или предоставляют привилегии администратора пользователю на компьютере, добавляя учетную запись пользователя в локальную группу «Администраторы». Конечно, оба метода небезопасны.

Почему некоторые приложения Windows не работают под обычными пользователями и требуют прав администратора?

Приложению могут потребоваться права администратора для изменения некоторых файлов (журналов, конфигураций и т. д.) В своей папке C:\Program Files (x86)\Приложение. По умолчанию пользователи не имеют прав на редактирование (запись и изменение) этого каталога. Для нормальной работы этой программы требуются права администратора. Чтобы решить эту проблему, необходимо вручную предоставить разрешение на изменение и/или запись для пользователя (или группы пользователей) в папке приложения на уровне NTFS.

Как запустить программу, которая требует прав администратора под обычным пользователем?

Ранее мы описывали, как запустить программу с сохраненным паролем администратора, используя опцию /SAVECRED. Данное действие небезопасно.

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

В качестве примера возьмем редактор реестра – regedit.exe. Когда вы запускаете regedit.exe, появляется окно UAC, и если вы не подтвердите повышение прав, редактор реестра не запустится.

Вариант 1.

Создайте на рабочем столе текстовый файл run-as-non-admin.bat, содержащий следующий код :

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Чтобы принудительно запустить regedit.exe без прав администратора и подавить приглашение UAC, просто перетащите файл EXE, который вы хотите запустить, на этот файл BAT на рабочем столе.

Редактор реестра запуститься без запроса UAC. Если вы откроете Диспетчер задач и перейдете на вкладку Подробности , вы увидите, что в системе существует процесс regedit.exe, запущенный с правами обычного пользователя.

Таким же образом вы можете запустить любое приложение, используя файл BAT. Просто укажите путь к исполняемому файлу.

Вариант 2.

Рассмотрим еще один способ. Вы можете добавить контекстное меню, которое позволяет запускать все приложения без повышения прав. Для этого создайте следующий файл REG и импортируйте его в реестр.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run as user without UAC privilege elevation"
[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

После этого, чтобы запустить любое приложение без прав администратора, просто выберите пункт «Run as user without UAC privilege elevation» в контекстном меню.

Как запустить программу без прав администратора и обойти подсказку UAC?
Метки:     

Одна мысль о “Как запустить программу без прав администратора и обойти подсказку UAC?

  • 13.01.2021 в 14:19
    Постоянная ссылка

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

    Ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *