Run as administrator windows 7 как отключить

Обновлено: 04.07.2024

Windows 7 ultimate, права администратора.

Проблема такая, при установке программ ( не всех ) или копировании файла на диск С: постоянно спрашивает разрешения на права администратора! как отключить эту штуку? связанное с софтом, поставил foobar2000, сначала вообще ставиться не хотел, выдавал ошибку о копировании, потом я правой кнопкой RUN AS ADMINISTRATOR запустил файл установки заново, все успешно, но теперь при запуске фубара ACCESS DENIED и запускается только если запускать от имени администратора (RUN AS ADMINISTRATOR). как отключить это дело, помогите

__________________
Под косматой елью, в темном подземелье,
Где рождается родник, — меж корней живет старик.

хм. интересный метод, попробую.
Но меня беспокоит одна проблема, почему если у я пользователь с правами администратора и у меня есть FULL ACCESS на все, с чего он спрашивает постоянно нужны права?
p.s. я прочитал что есть скрытый администратор, зашел через него, сделал теже процедуры установки софта и копирования файлов, не одного окошка с просьбой прав не было не понимаю в чем проблема)

вроде отключал не помогало. но я не перезагружал компьютер сегодня вечером попробую.

снизил уровень UAC, все ок! спасибо огромное за помощь!

Надоело, что иногда выскакивает окно, типа для этого действия требуются права администратора, но больше всего надоело то, что если игра по умолчанию установлена в Program Files x86, то могут быть проблемы с изменениями файлов игры в этой папке, например, при установке модов, или при изменение конфигов, допустим изменяешь фаил конфига, а сохранить разрешает только в другом месте, потом приходится от туда копировать в папку с игрой. Как заставить винду по-умолчанию производить все действия от имени администратора, и не ограничивать там всякие доступы? А то бред какой то, я единственный пользователь своего ПК, и я еще у винды должен что-то там спрашивать.

Последний раз редактировалось Sterkh; 03.05.2013 в 21:00 .

я единственный пользователь своего ПК, и я еще у винды должен что-то там спрашивать

Вообще-то винда тебя старается защитить.
Но ты можешь отключить UAC и дать себе полные права на папку Program Files (x86) - больше никто ничего у тебя не спросит.

Я это читал уже, по ссылке выше.
Просто скажите коротко и ясно, отключать UAC безопасно?

Я не думаю, что инженеры MS от "нечего делать" поставили UAC в ОС. Решать вам.

date

18.03.2021

directory

Windows 10, Windows Server 2016

comments

комментариев 50

Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется (например, вы можете вручную предоставить необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, если на компьютере включен контроль учетных записей, то при запуске такой программы из-под непривилегированного пользователя появится запрос UAC и Windows потребует от пользователя ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Microsoft не рекомендует использовать такие методы, т.к. это снижает безопасность компьютера.

Зачем обычному приложению могут понадобится права администратора?

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

права на запись пользователю в папку программы в ProgramFiles

Примечание. На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это уже вопрос о лени и некомпетентности разработчиков программ.

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

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

Также можно воспользоваться RunAs с сохранением пароля админа /SAVECRED в диспетчере паролей Windows (Credentials Manager). Это также небезопасно, т.к. пользователь может использовать сохранённый пароль учетной записи администратора для запуска других программ.

Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC).

Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\). Обратите внимание на щит UAC у иконки. Данный значок означает, что для запуска этой программы будет запрошено повышение привилегий через UAC.

иконка щита UAC у exe файла в Windows 10

Если запустить regedit.exe , то перед вами появится окно User Account Contol с запросом пароля пользователя с правами администратора на этом компьютере ( Do you want to allow this app to make changes to your device? ). Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится.

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

Попробуем обойти запрос UAC для этой программы. Создайте на рабочем столе файл run-as-non-admin.bat со следующим текстом:

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

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

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

После этого редактор реестра должен запуститься без появления запроса UAC и без ввода пароля администратора. Откройте диспетчер процессов, добавьте столбец Elevated и убедитесь, что в Windows 10 запустился непривилегированный процесс regedit (запущен с правами пользователя).

regedit с правами пользовтеля (Elevated = No)

Попробуйте отредактировать любой параметр в ветке HKEY_LOCAL_MACHINE. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKEY_CURRENT_USER.

запуск редактора реестра под пользователем

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

run-app-as-non-admin.bat

Set ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

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

добавть в file explorer windows 10 пункт запуска программы без запроса UAC

Можно распространить этот пункт меню на компьютеры в домене через импорт ветки реестра с помощью групповых политики.

После этого для запуска любого приложения без прав админа достаточно выбрать пункт “Run as user without UAC elevation” в контекстном меню проводника Windows File Explorer.

Run as user without UAC elevation

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

RunAsInvoker в переменной окружения __COMPAT_LAYER

Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:

set __COMPAT_LAYER=Win7RTM 640x480

свойства совместимости программы

Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:

  • RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC;
  • RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора);
  • RunAsAdmin — запуск приложение с правами администратора (запрос AUC появляется всегда).

Следующий код включает режим RUNASINVOKER для текущего процесса и запускает указанную программу:

start "" "C:\Program Files\MyApp\testapp.exe"

Включаем режим RunAsInvoker через манифест exe файла программы

Вы можете отредактировать манифест exe файла программы и отключить требование запускать программу в привилегированном режиме.

Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.

В дереве слева перейдите в раздел Manifest и откройте манифест программы.

Обратите внимание на строки:

Именно благодаря опции requireAdministrator Windows всегда запускает эту программу с правами администратора.

Измените requireAdministrator на asInvoker и сохраните изменения в exe файле.

resource hacker включитьпараметр asinvoker в manifest exe файла

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

убрат щит защиты uac у любой программы в windows 10 с помощью манифест файла

Если исполняемый файл программы подписан подписью MS Authenticode (сертификатом Code Signing), то после модификации exe файла он может перестать запускаться или выдавать предупреждение.

В этом случае можно заставить программу использовать внешний файл манифеста. Создайте в каталоге с ехе файлом текстовый файл app.exe.manifest (например Autologon.exe.manifest) и скопируйте в него код манифеста из Resource Hacker. Измените requireAdministrator на asInvoker. Сохраните файл.

Чтобы Windows при запуске приложений всегда пробовала использовать внешний файл манифеста, включите специальный параметр реестра:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f

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

Некоторым приложениям для работы в Windows требуются повышенные права, и запускать их необходимо от имени администратора. При этом выводится запрос "Контроля учетных записей пользователя" (User Account Control или UAC), в котором система просит Вашего согласия на запуск приложения.

*

Многие пользователи неправильно полагают, что "Контроль учетных записей пользователя" лишь мешает, и отключают его. При этом серьёзно страдает безопасность компьютера, т.к. согласия пользователя на запуск приложений больше не требуется, и любая вредоносная программа может беспрепятственно запускаться и работать. Наличие антивируса также не может на 100% гарантировать безопасность компьютера.

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

Для запуска приложения от имени администратора можно воспользоваться несколькими способами:

В качестве примера будем запускать командную строку (cmd) от имени администратора.

Способ №1 (обычный) - запуск через правую клавишу мыши (запрос UAC отображается)

Нажмите правой клавишей мыши по значку нужного приложения и выберите пункт "Запуск от имени администратора":

*

Способ №2 - запуск с использованием "Ctrl+Shift+Enter" (запрос UAC отображается)

Нажмите Пуск, в строке поиска наберите нужную команду и нажмите Ctrl+Shift+Enter.

*

Способ №3 - устанавливаем запуск от имени администратора в свойствах ярлыка (запрос UAC отображается)

Щелкните правой клавишей мыши по нужному ярлыку и выберите пункт "Свойства".

Перейдите на вкладку "Ярлык", нажмите "Дополнительно", установите флажок "Запускать от имени администратора":

*

Или перейдите на вкладку "Совместимость" и установите флажок "Выполнять эту программу от имени администратора":

*

Далее запуск от имени администратора осуществляется двойным щелчком по ярлыку.

Способ №4 - упрощаем запуск для избранных приложений при помощи планировщика заданий (запрос UAC не отображается)

Важно! Этот способ работает только для учетных записей, входящих в группу Администраторы. У обычных пользователей он не сработает, потому что их потолком являются ограниченные права.

Переходим к самому интересному способу. Если есть приложение, которое Вы постоянно запускаете, и оно получено от надёжного производителя ПО, например, это приложение Windows - можно упростить запуск. Создание ярлыка для нужной программы не занимает более 2-х минут и это позволит избавиться от лишних действий в дальнейшем. Запускаем планировщик заданий (Пуск ---> Все программы ---> Стандартные ---> Служебные ---> Планировщик заданий) и нажимаем "Создать задачу":

Указываем Имя для новой задачи и ставим флажок "Выполнять с наивысшими правами":

Переходим на вкладку Действия, нажимаем "Создать", в следующем окне нажимаем "Обзор":

*

Указываем путь к нужному приложению и нажимаем "Открыть":

Нажимаем "ОК":

*

И ещё раз "ОК":

Закрываем планировщик и переходим к созданию ярлыка.

Чтобы создать ярлык на рабочем столе, щёлкаем правой клавишей мыши, выбираем "Создать" ---> "Ярлык":

*

В поле Расположение объекта вводим:

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

Задаём название ярлыка:

Ярлык создан и готов к использованию.

Чтобы сменить значок - нажмите правой клавишей мыши по ярлыку, выберите "Свойства":

*

Перейдите на вкладку "Ярлык" и нажмите "Сменить значок":

*

*

Указываем путь к программе:

Выбираем нужный значок и закрываем оба окна кнопкой "ОК":

*

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

Утилита для автоматизации "Способа №4"

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

Работа с утилитой сводится к двум простым шагам:

  • Установка
  • Перетаскивание исполняемого файла (*.exe, *.bat, *.cmd) на ярлык утилиты:

*

Выражаю благодарность автору программы - hb860.

Автоперевод фокуса на запущенную программу

Специфика запуска приложений из планировщика состоит в том, что фокус на окно не переводится и, например чтобы набрать команду в командной строке приходится дополнительно щёлкать по окну. Такое поведение может помочь в автоматизации рутинных операций по расписанию, но для "Способа №4" это не всегда удобно.

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

Добавляем при создании задачи:

Использование команды start

Программа или сценарий:

Использование утилиты NirCmd

Программа или сценарий:

Запуск диалога "Выполнить" от имени администратора

По аналогии с запуском командной строки способом №4 можно настроить запуск диалогового окна "Выполнить", и введённые в него команды также будут запущены от имени администратора. Удобство этого подхода заключается в том, что список ранее использованных команд сохраняется, и можно выбрать нужную из списка.

*

При создании задачи в планировщике, в окне "Создание действия" укажите:

в поле "Программа или сценарий":

в поле "Добавить аргументы":

В справочнике по командам Windows вы найдете множество команд, которые можно запускать из командной строки или окна "Выполнить".

Быстрое создание задания в планировщике из командной строки

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

Теперь остается создать ярлык, прописав в нем команду:

Способ №5 - запуск из командной строки (запрос UAC отображается)

Реализовать запуск от имени администратора из командной строки можно несколькими способами:

  • Запустить командную строку от имени администратора, введённые в неё команды также будут запущены от имени администратора.
  • Поставить в свойствах запускаемого приложения флажок - см. "Способ №3".
  • Воспользоваться сторонней утилитой.

С первыми двумя вариантами всё понятно, займёмся последним.

Существует несколько нужных нам утилит: Elevate от Johannes Passing (рассмотрим на её примере), PowerToys от Michael Murgolo и т.д.

Скачиваем утилиту, распаковываем. Запускаем командную строку, вводим нужную команду, синтаксис совсем нехитрый:

*

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

Примечание: В контекстном меню Windows 7 есть очень удобная функция копирования пути файла: зажмите Shift, щёлкните правой клавишей мыши по файлу, выберите пункт "Копировать как путь".

*

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

Важно! Этот способ небезопасен, так как позволяе пользователю с ограниченными правами запускать код с полными правами. Хитрый пользователь или вредоносное ПО могут этим воспользоваться и скомпрометировать систему.

Рассмотрим ещё одну интересную задачу: Ваша учётная запись Windows входит в группу администраторов, есть ещё одна или несколько учётных записей, входящих в группу пользователей. Пользователю необходимо запускать программу, требующую повышения прав. Обычно это выглядит так: пользователь нажимает правой клавишей мыши по файлу и выбирает "Запуск от имени Администратора", при этом выводится запрос на ввод пароля администратора:

*

Разумеется, раздать пользователям пароль администратора - не самая хорошая идея. Чтобы это "обойти" будем использовать утилиту AdmiLink Алексея Курякина. С её помощью администратор может создать для пользователя ярлык на запуск необходимой программы, при этом ввод пароля администратора требуется всего 1 раз - при создании ярлыка. Во время запуска программы пользователем пароль будет передаваться в зашифрованном виде.

  1. Скачиваем, устанавливаем от имени администратора.
  2. Заходим в систему под пользователем, запускаем AdmiLink. Указываем путь к программе и, при необходимости, параметры командной строки.

    Увеличить рисунок
  3. Переходим на вкладку "Account", указываем Имя учётной записи и пароль администратора. Нажимаем кнопку "Сгенерировать ключ запуска AdmiRun".

    Увеличить рисунок
  4. Переходим на вкладку "LNK", нажимаем "Сгенерировать командную строку", затем "Создать Ярлык сейчас".

    Увеличить рисунок
  5. Пользуемся.

Этот способ будет работать, если запуск программы возможен только от имени администратора и разработчик не забыл указать это условие в манифесте. Однако ещё остаётся большое количество старых программ или программ, запуск которых возможен как в обычном режиме, так и от имени администратора (при этом будет доступен разный набор функций). При попытке запуска такой программы с помощью AdmiLink - она запускается в обычном режиме (без административных привилегий). А если попытаться проставить флажок "Способом №3" - получаем ошибку:

*

Но нерешаемых проблем нет, я попробовал совместить запуск AdmiLink-ом и "Способ №5":

- попытка завершилась успешно:

*

Пользователю выводится стандартный запрос UAC, но ввод пароля администратора не требуется.

Добавлено через 1 минуту
т.е. надо ещё саму runas запустить от админа сначала получается

Запуск от имени администратора
Запуская Far от имени администратора, но в диспетчере задач он виден как запущенный от.


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

Запуск программы от имени администратора
Добрый день! Такая ситуация. Работаю на фирме, компов не мало и у всех НЕТУ прав администратора.


Батник на Запуск программы от имени администратора
Подскажите пожалуйста : сотрудник работает с правами пользователя, нужно запустить из под.

ExecAs не пашет (в 10-ке, по крайней мере). Даже если запущена от админа, всё равно запускает от юзера.
NirCmd ( runas user password app.exe и evluatecmd runas user password app.exe ) аналогично.
NirCmd ( evaluate runassystem app.exe ) выводит запрос (как при обычном запуске от админа).

Добавлено через 5 минут

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

Jin X, попробуйте как на картинке ниже в свойствах ярлыка.

evgenii3000, всё равно будет подтверждения от юзера запрашиваться.
Это и логично, ибо пароль нигде не указывается.

Добавлено через 26 секунд
Я вообще не уверен даже, что даже с паролем запроса не будет. Кто знает, подскажите, плиз.

Jin X, какая программа ? Может есть портативная версия ее?

Решение

Jin X, PSEXEC пробовали?

Добавлено через 2 часа 17 минут
Jin X,

Я вообще не уверен даже, что даже с паролем запроса не будет. Кто знает, подскажите, плиз.

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

Самый простой вариант, отключить UAC, таким образом, при запуске приложения с запрошенной элевацией ("Run as administrator") - запуск будет осуществлен с повышенными правами и без запроса.
Но есть нюанс..
Eсли УЗ имеет права администратора, но запуск приложения осуществлен скажем даблкликом или, например через функционал "Выполнить", то при отключенном UAC, повышение прав не произойдет (за исключением доверенных в системе програм, таких как CMD)

В вашем случае, наверное вариантом будет отключить UAC, и вшить манифест, тогда:
1)Приложение при запуске будет запрашивать элевацию - манифестом
2) Права будут повышаться без запроса т.к. отключен UAC

Да поправят меня, если я где-то что-то перепутал

Добавлено через 10 минут
Jin X, А еще я смотрю вы разрабатываете на C++, тогда резонный вопрос почему не написать сервис?

Читайте также: