Программа требует права администратора для запуска: Запуск программы без прав администратора и подавлением запроса UAC

Программа требует права администратора для запуска — что это значит?

   Инструкции

  1. Запуск программ от имени администратора
  2. Запуск программы от имени другого пользователя

Иногда при запуске программ или при попытке воспользоваться какой-либо ее функцией на экране отображается ошибка о необходимости предоставления ей (программе) прав администратора. Обычно это означает, что запускаемое приложение или ее отдельная функция пытается:

  • Считать значения или внести изменения в критические настройки/параметры операционной системы, например — добавление/удаление записей в реестре или создание новых задач в «Планировщике заданий»;
  • Получить доступ к каким-либо данным на диске, доступ к которым запрещен для учетных записей, не имеющих статус администраторских.
  • Принудительно завершить работу какого-либо запущенного процесса, остановить или внести изменения в параметры запуска системной службы.
  • Запустить системное приложение или службу, для запуска/работы которых также требуются права администратора.

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

  1. Если доступ блокируется операционной системой, а учетная запись пользователя имеет статус администраторской, то программу следует запускать от имени администратора (дело в том, что некоторые приложения в целях безопасности не запускаются от имени администратора даже из-под учетной записи такового).
  2. Запустить программу от имени другого пользователя компьютера, учетная запись которого имеет статус администраторской. Сработает только в том случае, если администратор предоставит пароль от своей учетной записи.

Рассмотрим все на примере Windows 11.

Запуск программ от имени администратора

Здесь все очень просто:

  1. Кликните по запускаемой программе или ее ярлыку на рабочем столе правой кнопкой мыши, затем выберите в контекстном меню пункт «Показать дополнительные параметры»:

  1. Откроется расширенное контекстное меню — выберите в нем пункт «Запуск от имени администратора»:

  1. Готово.

Чтобы постоянно не проделывать вышеописанные действия, можно указать системе всегда запускать программу от имени администратора. Для этого:

  1. Откройте окно свойств запускаемой программы, выбрав в контекстном меню пункт «Свойства» либо нажав комбинацию клавиш «Alt + Enter» после выделения значка/ярлыка приложения мышкой.
  2. В окне свойств откройте вкладку «Совместимость», затем установите галочку напротив элемента «Запускать программу от имени администратора» и нажмите «ОК»:

На этом все.

Запуск программы от имени другого пользователя

Как отмечалось выше, данный способ сработает в случае, если известно имя и пароль от учетной записи администратора компьютера. Действия следующие:

  1. Нажмите и удерживайте клавишу «Shift», а затем выполните первый шаг из предыдущей инструкции.
  2. В отобразившемся контекстном меню должен появиться дополнительный пункт — «Запуск от имени другого пользователя» — выберите его:

  1. Откроется новое окно, в которое нужно вписать имя учетной записи администратора и пароль от нее, затем нажать кнопку «ОК»:

Готово.

Как запустить программу без прав администратора

Lyapidov 09.02.2022 Руководства 5,144 Views

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

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

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

В данной статье, в качестве примера, продемонстрирован запуск установочного файла программы WinRAR однако, приведенный ниже способ подходит для запуска и установки большинства программ на ОС Windows 7, 8, 8.1, 10, 11. 

ВАЖНО!
Нижеописанный способ не позволит вам получить повышенные права для программы. Используемый параметр RUNASINVOKER подавляет окно UAC и сообщает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.

Решение:

1. При попытке запуска программы требующей повышения прав (прим. в данном примере это WinRAR) перед вами появится окно Контроль учетных записей пользователя с запросом имени и пароля пользователя имеющего права администратора. Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится (Рис.1).

Рис.1

.

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

В данном примере имя RUN, но вы можете выбрать любое другое) (Рис.2).

Рис.2

.

3. Откройте созданный текстовый документ и введите:

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

(прим. можете скопировать отсюда и вставить в текстовый документ) (Рис.3).

Рис.3

.

4. Выберите в окне Файл, затем нажмите Сохранить как… (Рис.4).

Рис.4

.

5. Сохраните текстовый документ с расширением .bat (прим. в данном примере это RUN.bat) (Рис.5).

Рис.5

.

6. Для принудительного запуска приложения без прав администратора и подавлением запроса UAC, перетащите

файл, который нужно запустить (прим. в данном примере это WinRAR) на созданный . bat файл (прим. в данном примере это RUN.bat) на рабочем столе (Рис.6).

Рис.6

.

7. Файл запустится без появления запроса UAC и без ввода пароля администратора (Рис.7).

Рис.7

.

Запуск программы без прав администратора завершен!

.

Tags Windows

windows — Заставить программу запускаться *без* прав администратора или UAC?

спросил

Изменено 1 год, 1 месяц назад

Просмотрено 672k раз

Можно ли заставить программу, которая обычно требует прав администратора (через UAC), работать без них? (то есть: нет подсказки UAC и

нет общесистемного доступа .)

Добавлено: без изменения самого исполняемого файла.


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

  • Используя Process Explorer, я могу запустить его как пользователь с ограниченными правами. Однако это, кажется, ограничивает его значительно больше, чем мне хотелось бы (он работает как защищенный режим IE и поэтому может получить доступ значительно меньше, чем мой стандартный пользователь без повышенных прав).
    • виндовс
    • администратор
    • уак

    6

     Редактор реестра Windows версии 5.00
    [HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
    @="Запускать без повышения привилегий"
    [HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\команда]
    @="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""
     

    Сохраните этот текст в <имя_файла>. reg и добавьте его в реестр Windows. (Двойной щелчок по нему должен помочь.)

    После этого щелкните правой кнопкой мыши приложение, которое вы хотите запустить без прав администратора, и выберите «Запустить без повышения привилегий».

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

    12

    Сохранить в nonadmin.bat

    :

     cmd /min /C "установить __COMPAT_LAYER=RUNASINVOKER && start "" %1"
     

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

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

    На основе ответа Вома


    Обновление: Теперь должно работать с программами, имена которых содержат пробелы.

    12

    Надеюсь, я не опоздал на вечеринку, но я искал похожий вопрос и, не найдя здесь ответа, обнаружил, что встроенная в Windows команда RunAs при запуске от имени администратора может сделать это с Переключатель /trustlevel .

     RUNAS /trustlevel: программа
    /showtrustlevels отображает уровни доверия, которые можно использовать
                      в качестве аргументов для /trustlevel.
    /trustlevel 
    должен быть одним из перечисленных уровней в /showtrustlevels.

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

    6

    Если у вас есть определенное приложение, которое вы хотите всегда запускать без контроля учетных записей, вы можете указать его в реестре (добавить текст в файл REG и импортировать его в реестр):

     Редактор реестра Windows, версия 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\example\\application.exe"="RunAsInvoker"
     

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

    Microsoft называет этот процесс добавлением RunAsInvoker «прокладки совместимости».

    2

    Если это файл установки (установки) exe , для которого требуются права администратора, есть хитрость, чтобы запустить его без повышенного доступа:

    Если имя файла содержит такие слова, как setup или установить Windows принудительно запускает его с повышенным доступом, даже если ему не требуется повышенный доступ:

    Если в файле .exe есть манифест, эти эвристики для повышения прав не применяются.

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

    Еще одно ключевое слово — patch , как указано Mgamerz в комментариях.

    Это задокументировано в документах UAC (Контроль учетных записей):

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

    Обнаружение установщика применимо только к:

    • 32-битные исполняемые файлы.

    • Приложения без запрошенного атрибута уровня выполнения.

    • Интерактивные процессы, работающие от имени обычного пользователя с включенным UAC.

    Перед созданием 32-разрядного процесса проверяются следующие атрибуты, чтобы определить, является ли он установщиком:

    Режим чтения здесь: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works

    3

    Хотя в своем вопросе Эндрю заявил, что не совсем работает следующее:

    Путем изменения исполняемого файла я могу удалить запись trustInfo из манифест (или манифест целиком, поэтому я могу использовать внешний), разрешить запуск программы без UAC. К сожалению, это изменяет исполняемый файл, поэтому вскоре он закрывается из-за внутренней контрольной суммы тест.

    Мне удалось изменить внешний файл .manifest для программного обеспечения, которое я использовал, и изменить

    на

    Оказалось, что программное обеспечение, которое я использовал, на самом деле не требовало прав администратора, поэтому я смог запустить его в учетной записи обычного пользователя без UAC или паролей администратора. Спасибо!

    1

    Я решил эту проблему сегодня, используя набор инструментов для настройки приложений MS.

    Я следовал инструкциям из статьи в технической республике.

    В основном:

    1) вы получаете набор инструментов от MS здесь.

    2) Щелкните Исправить

    3) Выберите параметр RunAsInvoker

    4) Щелкните правой кнопкой мыши исправление и выберите Установить

    6

    Есть два пути. Вы можете использовать RunAs со стандартным именем пользователя:

     RunAs /user:StandardUser C:\Temp\Foo.exe
     

    Но вам нужно будет ввести пароль пользователя.

    Или вы можете использовать PsExec от SysInternal, где вы можете передать пароль в качестве аргумента:

     PsExec -u StandardUser -p secret C:\Temp\Foo.exe
     

    1

    Я решил эту проблему, изменив права доступа к папке, содержащей программу.

    Я добавил каждого пользователя, который будет запускать эту программу, и дал им привилегии «полного доступа». Это решило проблему, и я оставил «запуск от имени администратора» не отмеченным.

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

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

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

    Отключить UAC в Windows Vista: Запустите, введите «пользователь». Нажмите «Учетные записи пользователей». В появившемся окне нажмите «Настройки контроля учетных записей», а затем «Отключить UAC».

    Отключить UAC в Windows 7: Пуск, введите «пользователь». Нажмите «Настройки контроля учетных записей». Перетащите полосу выбора до упора вниз, чтобы выбрать «Никогда не уведомлять».

    4

    администрирование — Как предоставить ограниченные права администратора пользователю/программе в Windows

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

    Означает ли это, что пользователь должен быть локальным администратором?

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

    Означает ли это, что вы можете что-то изменить, чтобы программа работала без прав администратора и даже не получила этот вопрос?

    Да.

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

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

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

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

    3. В Windows 10 папки Program Files доступны только для чтения пользователям, не являющимся администраторами, и для записи в них требуются административные разрешения, поскольку пользователь Trusted Installer является владельцем и имеет права на запись.

    4. Ключи реестра локального компьютера доступны только для чтения локальным пользователям и доступны для записи администраторам.

    5. Если программа установлена ​​только для моего пользователя, она сохраняется в профиле пользователя (здесь у пользователя есть права на запись), тогда как если они установлены для всех пользователей, она сохраняется в программных файлах. Рассмотрите возможность переустановки как пользовательской программы, если это разрешено установщиком.

    6. Вы можете изменить параметры безопасности как для раздела реестра, так и для папки и предоставить пользователю права на запись.

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

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