Как запускать программы, требующие права администратора, под учетной записью обычного пользователя
Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы прав администратора не требуется (например, вы вручную предоставили необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, при запуске такой программы из-под простого пользователя, если на компьютере включен контроль учетных записей, появится запрос UAC и от пользователя потребует ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Естественно, оба этих способа небезопасны.
Зачем обычному приложению могут понадобится права администратора
Права администратора могут потребоваться программе для модификации неких файлов (логи, конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp). По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора. Чтобы решить эту проблему, нужно под администратором на уровне NTFS вручную назначить на папку с программой право на изменение/запись для пользователя (или группы Users).
Примечание . На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это вопрос уже о лени и некомпетентности разработчиков.
Запуск программы, требующей права администратора от обычного пользователя
Ранее мы уже описывали, как можно отключить запрос UAC для конкретной программы , с помощью параметра RunAsInvoker. Однако этот метод недостаточно гибкий. Также можно воспользоваться RunAs с сохранением пароля админа /SAVECRED (также небезопасно). Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC ).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\system32). При запуске regedit.exe появляется окно UAC и, если не подтвердить повышение привилегии, редактор реестра не запускается.
Создадим на рабочем столе файл run-as-non-admin.bat со следующим текстом:
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %1″
Теперь для принудительного запуска приложения без права администратора и подавления запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.
После этого редактор реестра должен запустится без появления запроса UAC. Открыв диспетчер процессов, и добавим столбец Elevated (С более высоким уровнем разрешений), вы увидите, что в системе имеется процесс regedit.exe с неповышенным статусом (запущен с правами пользователя).
Попробуйте отредактировать любой параметр в ветке HKLM. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKCU.
Аналогичным образом можно запускать через bat файл и конкретное приложение, достаточно указать путь к исполняемому файлу.
Set ApplicationPath=»C:\Program Files\MyApp\testapp.exe»
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»
Также можно добавить контекстное меню, которое добавляет у всех приложений возможность запуска без повышения прав. Для этого создайте следующий reg файл и импортируйте его в реестр.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]@=»Run as user without UAC elevation»
[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]@=»cmd /min /C \»set __COMPAT_LAYER=RUNASINVOKER && start \»\» \»%1\»\»»
После этого для запуска любого приложения без прав админа достаточно выбрать пункт « Run as user without UAC elevation » в контекстном меню.
Переменная окружения __COMPAT_LAYER и параметр RunAsInvoker
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640×480
Из интересных нам опций переменной __COMPAT_LAYER выделим следующие параметры:
- RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC.
- RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора).
- RunAsAdmin — запуск приложение с правами администратора (запрос AUC появляется всегда).
Т.е. параметр RunAsInvoker не предоставляет права администратора, а только блокирует появления окна UAC.
Решено: Недостаточно прав для удаления обратитесь к системному администратору
Иногда некоторые программы невозможно удалить, заходишь в Панель управления — Программы и компоненты, находишь нужную программу жмешь удалить и получаешь сообщение «Недостаточно прав для удаления программы, обратитесь к системному администратору», само сообщение выглядит так:
Что делать если это твой личный компьютер и никакого системного админстратора поблизости нет? Конечно же заходишь на этот сайт и действовать по инструкции 🙂
Причина ошибки и невозможности удаления программы в том что у Вашей учетной записи недостаточно прав на какой либо из файлов или каталог той программы которую Вы хотите удалить, так же файл или каталог может использоваться другой программой и поэтому при попытке удаления программы Вы получите эту ошибку.
Для начала пара простых способов удаления программы, которая не удаляется, если они не помогут, то придется искать объект на который у Вас нет прав и эти самые права получать.
- Отключите на время удаления UAC, зайдите в Панель Управления — Управление учетными записями — Изменение параметров контроля учетных записей, там опустите ползунок в самый низ и нажмите ОК, после этого попробуйте удалить программу, если все прошло успешно верните ползунок обратно и сохраните настройки, отключать UAC лично я не рекомендую:
- Можно активировать учетную запись Администратора (того который может всё, аналог root в unix), для этого нужно открыть командную строку от имени Администратора и выполнить команду:
net user Администратор /active:yes — (обратите внимание команда языкозависима для английской версии Windows нужно изменить имя учетной записи на Administrator)для активации учетной записи Администратора, после этого на экране входа появится еще одна учетная запись с именем Администратор — нужно войти под ней и попробовать удалить программу. После удаления рекомендую деактивировать эту учетную запись командой:
net user Администратор /active:no
В редких случаях этого недостаточно и упрямая программа все равно не хочет удаляться выдавая каждый раз ошибку «Недостаточно прав для удаления программы, обратитесь к системному администратору» для этой ситуации есть решение. Для начала зайдите в Панель управления — Программы и компоненты, кликните правой кнопкой по «Имя», в открывшемся меню выберите подробнее:
Поставьте галочку на «Расположение» и нажмите ОК:
Теперь в списке самая правая колонка указывает на расположение файлов нужной нам программы, смотрим путь и открываем его в проводнике:
Жмем правой кнопкой на папке, выбираем свойства и далее идем по стрелочкам, жмем изменить и в открывшемся окне выбираем свою учетную запись или группу к которой она принадлежит и ставим все галочки затем жмем окей:
После этого пробуем удалить программу, все должно получиться.
Установка программ без прав администратора на Windows
Для установки некоторого программного обеспечения требуется наличие прав администратора. Кроме этого и сам администратор может ставить ограничение на установку различного софта. В случае когда требуется выполнить инсталляцию, а разрешения на нее нет, предлагаем воспользоваться несколькими простыми методами, описанными ниже.
Устанавливаем программу без прав администратора
В сети интернет присутствует множество различного ПО, позволяющего обходить защиту и выполнять инсталляцию программы под видом обычного пользователя. Мы не рекомендуем их использовать особенно на рабочих компьютерах, так как это может нести за собой серьезные последствия. Мы же представим безопасные способы установки. Давайте рассмотрим их подробнее.
Способ 1: Выдача прав на папку с программой
Чаще всего права администратора софту требуются в том случае, когда будут проводиться действия с файлами в своей папке, например, на системном разделе жесткого диска. Владелец может предоставить полные права другим юзерам на определенные папки, что позволит выполнять дальнейшую установку под логином обычного пользователя. Делается это следующим образом:
- Войдите в систему через учетную запись администратора. Подробнее о том, как это сделать в Виндовс 7 читайте в нашей статье по ссылке ниже.
Перейдите к папке, в которую в дальнейшем будут устанавливаться все программы. Нажмите на нее правой кнопкой мыши и выберите «Свойства».
Откройте вкладку «Безопасность» и под списком нажмите на «Изменить».
Теперь во время установки программы вам потребуется указать папку, к которой предоставили полный доступ, и весь процесс должен пройти успешно.
Способ 2: Запуск программы с учетной записи обычного пользователя
В тех случаях когда нет возможности попросить администратора предоставить права доступа, рекомендуем воспользоваться встроенным в Windows решением. С помощью утилиты через командную строку осуществляются все действия. От вас требуется только следовать инструкции:
- Откройте «Выполнить» нажатием горячей клавиши Win + R. Введите в строку поиска cmd и нажмите «ОК»
runas /user:User_Name\administrator Program_Name.exe
Способ 3: Использование портативной версии программы
Некоторое ПО имеет портативную версию, не требующую установки. Вам будет достаточно скачать ее с официального сайта разработчика и запустить. Выполнить это можно очень просто:
- Перейдите на официальный сайт необходимой программы и откройте страницу загрузки.
- Начните загрузку файла с подписью «Portable».
Откройте скачанный файл через папку загрузок или сразу из браузера.
Вы можете перекинуть файл софта на любое съемное устройство хранения информации и запускать его на разных компьютерах без прав администратора.
Сегодня мы рассмотрели несколько простых способов как установить и использовать различные программы без прав администратора. Все они не сложные, но требуют выполнения определенных действий. Мы же рекомендуем для установки софта просто войти в систему с учетной записи администратора, если это доступно. Подробнее об этом читайте в нашей статье по ссылке ниже.