Принудительно запустить программу *без прав администратора или контроля учетных записей?

есть ли способ заставить программу, которая обычно требует прав администратора (через UAC) работать без них? (ie: no UAC prompt and нет общесистемного доступа.)

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


несмотря на ответ Джеймса, я нашел несколько способов, что он может почти сделать:

  1. изменить исполняемый файл я могу удалить trustInfo запись из манифеста (или манифест полностью, поэтому я могу использовать внешний), позволяя программе запускаться без UAC. К сожалению, это изменяет исполняемый файл, поэтому он выходит вскоре после из-за внутреннего теста контрольной суммы.
  2. С помощью Process Explorer я могу запустить его как ограниченный пользователь. Однако это, похоже, ограничивает его значительно больше, чем хотелось бы (он работает как Защищенный режим IE и поэтому может получить доступ значительно меньше, чем мой стандартный пользователь без повышенных прав).
19
задан Andrew Russell
27.04.2023 22:55 Количество просмотров материала 3690
Распечатать страницу

8 ответов

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

сохранить этот текст в <name_of_file>.reg и добавьте его в реестр Windows. (Двойной щелчок на нем должен сделать трюк.)

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

в некоторых случаях-небольшое количество 0.1% программ может спросить дважды о приглашении UAC.

62
отвечен Vom 2023-04-29 06:43

сохранить nonadmin.bat:

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

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

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

на основе Vom ответ


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

35
отвечен Hjulle 2023-04-29 09:00

Я надеюсь, что я не слишком поздно на вечеринку, но я искал аналогичный вопрос и, не видя ответа здесь я узнал, что окна " builtin RunAsкоманда, при запуске от имени администратора, может сделать это с помощью /trustlevel переключатель.

RUNAS /trustlevel:<TrustLevel> program

/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.
/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.

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

31
отвечен Mxx 2023-04-29 11:17

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

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\example\application.exe"="RunAsInvoker"

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

Microsoft вызывает этот процесс, добавив RunAsInvoker "Оболочку Совместимости".

9
отвечен palswim 2023-04-29 13:34

Я решил эту проблему сегодня с помощью MS application customization toolkit.

я следовал инструкциям в статье Tech republic: http://www.techrepublic.com/blog/window-on-windows/selectively-disable-uac-for-your-trusted-vista-applications/635

по сути:

1) Вы получаете tookit от MS здесь .

2) Нажмите Исправить

3) Выбор RunAsInvoker вариант

4) права кнопку исправления и выберите Установить

2
отвечен user53639 2023-04-29 15:51

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

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

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

0
отвечен Tim D 2023-04-29 18:08

хотя в своем вопросе Андрей утверждал, что не совсем сработало:

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

я смог изменить внешний .файл манифеста для программного обеспечения I пользовался и менял

<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

до

<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />

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

0
отвечен Aurimas 2023-04-29 20:25

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

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

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

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

-3
отвечен James Watt 2023-04-29 22:42

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх