Как установить программу без прав Администратора в Windows
Учимся ставить игры и приложения без прав администратора. Обходим ограничение, которые позволяет установить ПО только админу. При попытке установки приложения или игры обычным пользователем (не администратором), функция контроля учетных записей (UAC) запросит пароль админского аккаунта. Обхитрим встроенную защиту.
Создадим BAT-файл для установки ПО без прав администратора
Сначала рассмотрим «многоразовый» метод, который будет полезен тем, кому часто нужно ставить ПО, которое не желает устанавливаться без привилегий админа. Чтобы решить задачу — немного попрограммируем: создадим «батник» (BAT-файл). Откройте системный Блокнот или сторонний текстовый редактор и вставьте туда:
set __COMPAT_LAYER=RunAsInvoker && start «» %1
Создайте файл с расширением *.bat. Например, назовате его installnonadmin.bat. Сохраните «батник» в удобном вам месте диска вашего ноутбука или настольного ПК.
Надо поставить игру или программу — перетащите на созданный BAT-ник файл установщика приложения или игры. Стартует мастер установки, далее следуйте инструкциям на экране.
Поставим приложение без прав администратора через командную строку
Первым делом откроем командную строку:
- Клавиатурным сочетанием Win + R откройте окно «Выполнить».
- Напечатайте cmd в строке «Открыть:».
- Кликните по «ОК» внизу.
Описание метода
Напечатайте в консоли команду:
Больше статей и видео в нашем Дзен-канале
Перетащите мышкой исполняемый файл установщика программы в командную строку, чтобы вставить полный путь к данному файлу. Затем нажмите Enter, чтобы установка ПО стартовала.
«Подводные камни» подхода
Метод «одноразовый» и далёк от идеала. Последовательность вышеописанных действий придется повторять для каждой новой программы или игры. Прав админа данный способ вам не даст, лишь позволит обойти запрос UAC. Не даст и поставить программу в защищенные папки (ОС) — к таковым относится и Program Files. Не проблема — создаем собственную папку для установки игры или приложения.
У способа есть и ещё один минус — мастер установки не сможет внести правки в реестр для всех пользователей. В итоге ряд программ может работать некорректно. Не сумеет добавить нужные пункты в контекстные меню файлов или папок. При этом установленная программа будет в целом работать нормально. Третий изъян рассмотренного подхода — удалять придется запуском файла удаления (uninstall) из папки, куда установлено приложение. Способ оптимален для ситуаций, когда ставить требующий прав админа софт приходится изредка.
Рассмотренные методы применяются на собственный страх и риск пользователя. И только на личном компе, в офисе если надо поставить софт — просите системного администратора или штатного ИТ-специалиста.
Вы сидите в Windows под админом? Напишите в комментариях.
Запуск программы без прав администратора и подавлением запроса UAC
24.03.2023
itpro
Windows 10, Windows 11, Windows Server 2016, Windows Server 2019
комментариев 59
Некоторые программы при запуске могут требовать повышения прав до администратора (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется (например, вы можете вручную предоставить необходимые NTFS разрешения пользователям на каталог программы в Program Files и ее ветки реестра). Если на компьютере включен контроль учетных записей (User Account Control), то при запуске такой программы из-под непривилегированного пользователя появится запрос UAC и Windows потребует от пользователя ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Оба эти способа не рекомендуется широкого использовать, т.к. вы снижаете безопасность и защиту Windows. В этой статье мы рассмотрим, как запустить программу, которая требует права администратора, от имени простого пользователя и подавить запрос повышения привилегий UAC.
Предоставить пользователю права на запуск программы
Программа может запрашивать права администратора при запуске, если:
- Программе нужно получить доступ на системный каталог или файл, на отсутствуют NTFS разрешения для непривилегированных пользователей;
- Если программа собрана со специальным флагом, которые требует повышения прав при запуске (requireAdministrator).
В первом случае для решения проблемы администратору достаточно предоставить RW или Full Control разрешения на каталог программы или необходимый системных каталог. Например, программа хранит свои файлы (логи, файлы конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp) или каком-то системном каталоге. Для корректной работы программы пользователю нужны права записи в эти файлы. По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора.
Чтобы разрешить запуск программы под непривилегированным пользователем администратора достаточно вручную предоставить пользователю (или встроенной группе Users) права на изменение/запись на файл/каталог на уровне файловой системы NTFS.
Чтобы найти список файлов, папок и ключей реестра, к которым обращается программа, воспользуйтесь утилитой Process Monitor (https://learn.microsoft.com/en-us/sysinternals/downloads/procmon). Включите фильтр по имени процесса программы и найдите все ресурсы, при доступе к которым появляется Access Denied. Предоставьте необходимые права на папки/файлы/ветки реестра.
Примечание. В рекомендациях Microsoft для разработчиков указано, что не рекомендуется хранить изменяющиеся данных приложения в каталоге C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это уже вопрос о лени и некомпетентности разработчиков программ.
Запуск программы, требующей права администратора, от обычного пользователя
Ранее мы уже описывали, как можно с помощью параметра RunAsInvoker отключить запрос UAC для конкретной программы. Однако этот метод недостаточно гибкий.
Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\). Обратите внимание на щит UAC у иконки. Данный значок означает, что для запуска этой программы будет запрошено повышение привилегий через UAC.
Если запустить regedit.exe , то перед вами появится окно User Account Contol с запросом пароля пользователя с правами администратора на этом компьютере ( Do you want to allow this app to make changes to your device? ). Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится.
Попробуем обойти запрос UAC для этой программы. Создайте на рабочем столе файл run-as-non-admin.bat со следующим текстом:
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %1″
Теперь для принудительного запуска приложения без прав администратора и подавлением запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.
Редактор реестра должен запуститься без появления запроса UAC и без ввода пароля администратора. Откройте диспетчер процессов, добавьте столбец Elevated и убедитесь, что в Windows запушен непривилегированный процесс regedit (запущен с правами пользователя).
Попробуйте отредактировать любой параметр в ветке 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 файлу (понадобятся права администратора).
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” в контекстном меню проводника Windows File Explorer.
Еще раз напомню, что использование программы в режиме RUNASINVOKER не запускает приложение с правами администратора. Параметр AsInvoker подавляет запрос UAC и указывает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.
Запуск программы в режиме RunAsInvoker из командной строки
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640×480
Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:
- RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC;
- RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется, если у пользователя есть права администратора);
- RunAsAdmin — запустить приложение с правами администратора (запрос AUC появляется всегда).
Следующие команды включат режим RUNASINVOKER для текущего процесса и запускает указанную программу:
start «» «C:\Program Files\MyApp\testapp.exe»
Включить режим RunAsInvoker в манифесте exe файла программы
Как мы уже говорили выше, Windows показывает значок щита UAC у программ, которые требуют повышенных привилегий для запуска. Это требование разработчики задают при разработке в специальной секции программы — манифесте.
Вы можете отредактировать манифест исполняемого exe файла программы и отключить требование запускать программу в привилегированном режиме.
Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.
В этом примере я буду править манифест утилиты Sysinternals Autologon.exe, которую можно использовать для автоматического входа в Windows без пароля.
В дереве слева перейдите в раздел Manifest и откройте манифест программы. Обратите внимание на строки:
Именно благодаря опции requireAdministrator Windows всегда запускает эту программу с правами администратора.
Измените requireAdministrator на asInvoker и сохраните изменения в exe файле.
Обратите внимание, что теперь у иконки программы пропал щит UAC и вы можете запустить ее без запроса прав администратора с привилегиями текущего пользователя.
Если исполняемый файл программы подписан цифровой подпись (сертификатом 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 и убедитесь, что программа использует внешний файл манифеста, и запускается без прав администратора.
Запуск программы с сохраненным паролем администратора
Если способы запуска программы через режим RunAsInvoker не работают для вашего устаревшего приложения, можно попробовать запускать такие программы в сессии пользователя с помощью сохраненного пароля администратора. Этот способ мы целенаправленно оставили последним, т.к. это наименее безопасный способ запуска программ без предоставления прав локального администратора пользователю.
Создайте на рабочем столе новый ярлык для запуска программы. Укажите имя компьютера, имя локального администратора и полный путь к исполняемому файлу программы.
runas /user:wks-1122h2\root /savecred «C:\CorpApp\myapp.exe»
Запустите ярлык под пользователем. При первом запуске откроется командная строка, в которой нужно будет указать пароль администратора.
Утилита RunAs при запуске с параметром /SAVECRED сохраняет имя пользователя и пароль в диспетчере паролей Windows (Credentials Manager).
При следующем запуске ярлыка утилита runas автоматически получит сохраненный пароль из Credentials Manager и использует его для запуска программы от имени указанного локального администратора (пароль не запрашивается повторно при каждом запуске).
Вы можете вывести список пользователей с сохраненными паролями в Credential Manager с помощью команды:
В Windows 11 при запуске такого ярлыка появляется ошибка:
RUNAS ERROR: Unable to run - C:\CorpApp\myapp.exe 740: The requested operation requires elevation.
Чтобы исправить ошибку, отредактируйте команду в свойствах ярлыка. Замените ее на:
C:\Windows\System32\runas /profile /user:WKS-1122H2\root /savecred «cmd.exe /C C:\CorpApp\myapp.exe»
Как мы указывали выше, использование параметра /savecred не безопасно, т.к. пользователь, в чьем профиле сохранен чужой пароль может использовать его для запуска любой программы или команды под данными привилегиями, или даже сменить пароль пользователя с правами администратора. Кроме того, сохраненные пароли из Credential Manager можно получить в открытом виде с помощью утилит типа Mimikatz, лучше
В Windows можно заблокировать возможность сохранения паролей в Credential Manager с помощью параметра групповой политики Network access: Do not allow storage of passwords and credentials for network authentication (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options).
Преодолеть недостаток использования сохраненного пароля через runas позволяют несколько сторонних утилит. Например, AdmiLink, RunAsRob, RunAsSpc. Эти программы позволяют сохранить пароль администратора в зашифрованном виде и безопасно запустить программу с правами администратора. Эти утилиты проверяют при запуске путь и контрольную сумму исполняемого файла и не позволят запустить произвольную программу.
Предыдущая статья Следующая статья
Как разрешить обычному пользователю запускать программу от имени Администратора без ввода пароля
Несмотря на то, что мало кто следует этому подходу на домашних компьютерах, но самое разумное в семье — не давать всем пользователям Windows прав администратора, а создавать для них отдельные учетные записи с правами простого пользователя. Однако, в некоторых случаях это может вызвать проблемы: например, если какая-то нужная этому пользователю игра или программа требует наличия прав администратора.
Разрешение простым пользователям запуска программ от имени Администратора с помощью RunAs Tool
Шаги при использовании для простой задачи обеспечения возможности запуска программы, требующей прав администратора в обычном аккаунте, будут следующими:
- Запустите RunAs Tool — удобнее будет запускать прямо в учетной записи обычного пользователя.
- При первом запуске вас попросят выбрать администратора и ввести его пароль, сделайте это.
- Перетащите файлы программы или программ, которые нужно запускать от имени администратора в учетной записи обычного пользователя, задайте нужные параметры запуска.
- Нажмите правой кнопкой мыши по добавленной программе и выберите пункт «Создать ярлык» — на рабочем столе будет создан ярлык для запуска этой программы: она будет запускаться с настроенными вами правами, но не будет требовать пароль администратора.
При следующем запуске RunAs Tool она откроется в режиме просмотра добавленных программ и не запросит пароля, при этом запускать программы, ранее добавленные в список можно прямое из окна утилиты, просто дважды нажав по ним. Если требуется отредактировать список программ, в меню «Файл» выберите пункт «Запуск режима редактирования» и снова введите пароль администратора.
Помимо графического интерфейса, программа поддерживает и режим командной строки, но в данном материале этот подход рассматриваться не будет, при необходимости информацию о командах можно найти на официальном сайте программы.
Использование встроенных средств системы
Если вы не хотите прибегать к сторонним программам есть встроенные средства — утилиту RunAs для запуска от имени другого пользователя.
Суть способа сводится к следующему:
-
Создайте ярлык ( как это сделать), в котором в поле «Объект» следует прописать
runas /profile /user:ИМЯ_КОМПЬЮТЕРА\ИМЯ_ПОЛЬЗОВАТЕЛЯ /savecred "cmd.exe /k ПУТЬ_К_ФАЙЛУ_ПРОГРАММЫ"
Указывать следует имя пользователя с правами администратора, а посмотреть эти данные можно с помощью команды whoami в командной строке, запущенной от имени администратора (учитывайте, имя пользователя в учетной записи Майкрософт может отличаться от отображаемого в системе, поэтому лучше посмотреть в командной строке). Путь к программе не должен содержать пробелов.
Ранее можно было выполнять запуск программы командой напрямую:
runas /profile /user:ИМЯ_КОМПЬЮТЕРА\ИМЯ_ПОЛЬЗОВАТЕЛЯ /savecred "ПУТЬ_К_ФАЙЛУ_ПРОГРАММЫ"
В последних версиях Windows это не срабатывает, поэтому приходится использовать вариант с запуском cmd.exe с помощью runas, а уже из cmd — выполнение запуска нужного исполняемого файла.
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- Как выйти из полноэкранного режима в Windows
- Как включить компактный вид панели быстрых настроек Windows 11
- Шрифты в интерфейсе Chrome стали более жирными и размытыми — как исправить?
- Msftconnecttest.com — что это и как исправить возможные ошибки
- Как вывести результат выполнения команды в файл в Windows
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
- Живые обои на рабочий стол Windows 11 и Windows 10
- Лучшие бесплатные программы на каждый день
- Как скачать Windows 10 64-бит и 32-бит оригинальный ISO
- Как смотреть ТВ онлайн бесплатно
- Бесплатные программы для восстановления данных
- Лучшие бесплатные антивирусы
- Средства удаления вредоносных программ (которых не видит ваш антивирус)
- Встроенные системные утилиты Windows 10, 8 и 7, о которых многие не знают
- Бесплатные программы удаленного управления компьютером
- Запуск Windows 10 с флешки без установки
- Лучший антивирус для Windows 10
- Бесплатные программы для ремонта флешек
- Что делать, если сильно греется и выключается ноутбук
- Программы для очистки компьютера от ненужных файлов
- Лучший браузер для Windows
- Бесплатный офис для Windows
- Запуск Android игр и программ в Windows (Эмуляторы Android)
- Что делать, если компьютер не видит флешку
- Управление Android с компьютера
- Как разрешить обычному пользователю запускать программу от имени Администратора без ввода пароля
- Настройка возможностей восстановления Apple ID на iPhone
- Как выйти из полноэкранного режима в Windows
- Как включить компактный вид панели быстрых настроек Windows 11
- Delta — эмулятор старых консолей на iPhone теперь доступен в AppStore
- Шрифты в интерфейсе Chrome стали более жирными и размытыми — как исправить?
- Msftconnecttest.com — что это и как исправить возможные ошибки
- Как вывести результат выполнения команды в файл в Windows
- Как запускать программу на определенном мониторе в Windows
- Как запретить использование режима Инкогнито в браузере
- После изменения числа процессоров и максимума памяти Windows перестала запускаться — что делать?
- Использование Desktop.ini Editor для редактирования свойств папок Windows
- Флешка отображается как два отдельных диска — почему и что делать?
- Как удалить дубликаты фото и видео на iPhone
- Компьютер или ноутбук не запускается после замены батарейки CMOS — что делать?
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
Как разрешить пользователю устанавливать/удалять программы в Windows 7?
На Windows 7, не позволяет пользователю устанавливать/удалять программы, всегда возникает окно с сообщением, что это может делать только администратор. Да, если зайти под учетной записью администратора, то можно сделать многое.
Но почему войдя под учетной записью пользователя, при установке или удалении программы, вместо предупреждения, не показывается окно с подтверждением действий от администратора? Т.е. не предлагается ввести данные администратора для запуска действий по установке или удалению программ?
- Вопрос задан более года назад
- 1172 просмотра
Комментировать
Решения вопроса 1
WSGlebKavash @WSGlebKavash
При установке программ от имени пользователя запрашивается пароль администратора. Если такое окно не вылезает, значит UAC отключен. Надо включить UAC.
Если же вам необходимо, чтоб пользователь имел возможность устанавливать программы без прав администратора, то нужно разрешить это с пмощью групповых политик. Правда папки Program Files и Program Files (x86) не доступны для записи обычным пользователям, доступ только на чтение.
Ответ написан более года назад
Нравится 2 2 комментария
Евгений Бойко @Stud_pro Автор вопроса
Нет, полных прав пользователю не нужно давать, именно чтобы при выполнении действий по установке или удалению программ, чтобы запрашивался пароль администратора. Подскажите как включить UAC, это случайно не в «Изменение параметров учётных записей», где нам на выбор четыре варианта!?
WSGlebKavash @WSGlebKavash
это случайно не в «Изменение параметров учётных записей», где нам на выбор четыре варианта!?
Именно там.
Вам нужно поднять ползунок в самый верх. Если ползунок в самом низу, то UAC не работает и нужно заходить под администратором.