Есть ли способ заставить программу, которая обычно требует прав администратора (через UAC), работать без них? (т.е.: нет запроса UAC и нет общесистемного доступа .)
Добавлено: без изменения самого исполняемого файла.
Несмотря на ответ Джеймса, я нашел несколько способов, которыми это можно почти сделать:
- Изменяя исполняемый файл, я могу удалить
trustInfo
запись из манифеста (или полностью из манифеста, чтобы я мог использовать внешний), что позволяет программе запускаться без UAC. К сожалению, это изменяет исполняемый файл, поэтому он завершается вскоре после проверки внутренней контрольной суммы. - Используя Process Explorer, я могу запустить его как пользователь с ограниченными правами. Однако это, кажется, ограничивает его значительно больше, чем мне бы хотелось (он работает как защищенный режим IE и поэтому может получить доступ значительно меньше, чем мой стандартный пользователь без повышенных прав).
windows
administrator
uac
Эндрю Рассел
источник
источник
Ответы:
Сохраните этот текст
<name_of_file>.reg
и добавьте его в реестр Windows. (Двойной щелчок по нему должен помочь.)Затем щелкните правой кнопкой мыши приложение, которое вы хотите запустить без прав администратора, и выберите «Запуск без повышения привилегий».
В некоторых случаях - небольшое количество 0,1% программ могут дважды спрашивать о подсказке UAC.
источник
"
и затем поверните\"
в"
)./min
это ошибка. Решение работает точно так же без него. Фом, должно быть, перепуталcmd
иstart
переключается. Кажется, чтоcmd.exe
не жалуется на неправильные переключатели. Попробуйтеcmd /whatever
, например.Сохранить в
nonadmin.bat
:Теперь вы можете перетаскивать программы, чтобы запустить их без администратора.
Это не требует прав администратора, как изменение этого раздела реестра. Также вы не будете загромождать контекстное меню.
На основании ответа Вома
Обновление: теперь должно работать с программами, в имени которых также есть пробелы.
источник
Windows cannot find 'C:\Program'. Make sure you typed the name correctly, and then try again
. Я пробовал эту команду вручную несколько раз с небольшими изменениями и не повезло. Есть идеи?Я надеюсь, что я не слишком поздно для вечеринки, но я искал похожий вопрос и, не видя ответа здесь, я обнаружил, что встроенная
RunAs
команда Windows , при запуске от имени администратора, может сделать это с помощью/trustlevel
switch.Это сработало в моем случае. По иронии судьбы, запуск программы явно без повышения прав требует командной строки с повышенными правами . Пойди разберись. :) Надеюсь, это поможет вам.
источник
Если у вас есть конкретное приложение, которое вы хотите всегда запускать без UAC, вы можете настроить его для Реестра (добавьте текст в файл REG и импортируйте его в Реестр):
В отличие от этого ответа , это решение не требует альтернативного щелчка или изменения для взаимодействия с пользователем.
Microsoft называет этот процесс добавлением
RunAsInvoker
«Shim совместимости» .источник
Я решил эту проблему сегодня, используя инструментарий для настройки приложений MS.
Я следовал инструкциям в статье из технической республики .
В основном:
1) Вы получаете инструментарий от MS здесь .
2) Нажмите Исправить
3) Выберите опцию RunAsInvoker
4) Щелкните правой кнопкой мыши по исправлению и выберите «Установить».
источник
Если это установочный (установочный)
exe
файл, требующий прав администратора, есть способ запустить его без повышенных прав доступа:Если имя файла содержит такие слова, как
setup
илиinstall
Windows, принудительно запускает его с повышенными правами доступа, даже если ему не нужны повышенные права доступа:Если в файле .exe есть манифест, эти эвристики для повышения прав не применяются.
Это задокументировано в документах UAC (Контроль учетных записей):
Режим чтения здесь: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works
источник
В то время как в своем вопросе Андрей заявил, что следующее не совсем работает:
Мне удалось изменить внешний файл .manifest для программного обеспечения, которое я использовал, и изменить
<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
в
<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />
Оказывается, что используемое мной программное обеспечение на самом деле не требовало прав администратора, поэтому я смог запустить его с учетной записью обычного пользователя без UAC или паролей администратора. Спасибо!
источник
ms_asmv2:
также может быть опущен. Кроме того, возможно, что изменение размера встроенного блока xml может повредить двоичный файл, поэтому «requireAdministrator» следует изменить на «asInvoker», дополненный пробелами той же длины с пробелами перед uiAccess.Я исправил эту проблему, изменив разрешения для папки, в которой находилась программа.
Я добавил каждого пользователя, который будет запускать эту программу, и дал им права «полного контроля». Это позаботилось о проблеме, и я оставил флажок «Запуск от имени администратора» без проверки.
У меня нет проблем с безопасностью для пользователей, которые будут запускать программу.
источник
Нет, если программе требуется UAC, она пытается получить доступ к чему-либо за пределами своей песочницы. Программа не будет правильно работать без повышенных прав доступа.
Если вы просто хотите избавиться от уведомления, вы можете отключить UAC.
Отключить UAC в Windows Vista: запустите, введите «пользователь». Нажмите «Учетные записи пользователей». В появившемся окне нажмите «Настройки контроля учетных записей», а затем отключите UAC.
Отключить UAC в Windows 7: Пуск, введите «пользователь». Нажмите «Настройки контроля учетных записей». Перетащите панель выбора до самого конца, чтобы «Никогда не уведомлять».
источник