Программа просит запуск от имени администратора как исправить

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

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

Время прочтения
7 мин

Просмотры 158K

(с) Вася Ложкин.

К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.

Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…

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

Ну, и зачем тебе права?

Программа может запрашивать права администратора условно в двух случаях:

  1. Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
  2. Когда программу скомпилировали со специальным флагом «Требовать права администратора».

С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:

Куда это лезет этот 7Zip?

И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.

Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.

Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:

  • asInvoker. Программа запускается с теми же правами, что и породивший ее процесс (как правило, это explorer.exe c правами пользователя);
  • highestAvailable. Программа попросит максимально доступные пользователю права (у администратора появится окно с запросом повышения UAC, у пользователя — нет);
  • requireAdministrator. Программа будет требовать права администратора в любом случае.

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

Нет, не будет тебе прав

В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.

Простейшим вариантом работы с этим механизмом будет использование переменных среды.

Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:

Запрос повышение прав.

Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:

set __COMPAT_LAYER=RUNASINVOKER

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

Бесправный редактор реестра.

Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?

С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».

Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.

Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.

Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:

Создаем исправление приложения.

Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).

Далее необходимо в списке исправлений выбрать RunAsInvoker.

Выбираем нужный фикс.

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

Созданный фикс для bnk.exe.

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

Все становится хуже, если приложению действительно нужны права админа. Тогда добавление прав на системные объекты и исправления не помогают.

Ну ладно, держи права

Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.

Ну, посмотрим, что из этого выйдет.

Команда:

runas /savecred /user:Администратор "C:Program Files7-Zip7zFM.exe" 

Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.

)

Вводим пароль.

Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.

Зато runas может быть полезен, когда сотрудник знает пароль администратора, но работает под ограниченной учетной записью (по идее так должен делать каждый системный администратор).

Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.

Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».

Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:

$Cred = Get-Credential

Затем сохранить пароль в зашифрованном виде в файл:

$Cred.Password | ConvertFrom-SecureString | Set-Content c:pass.txt

И теперь использовать этот файл для неинтерактивной работы:

$username = "DomainАдминистратор"

$pass = Get-Content C:pass.txt | ConvertTo-SecureString

$creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $pass

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

$AESKey = New-Object Byte[] 32

[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($AESKey)

$AESKey | out-file C:password_aes.key

Теперь при помощи этого ключа пароль можно зашифровать:

$Cred.Password| ConvertFrom-SecureString -Key (get-content C:password_aes.key

)| Set-Content C:pass.txt

И расшифровать:

$pass = Get-Content C:pass.txt | ConvertTo-SecureString -Key (get-content C:password_aes.key)

К сожалению, с безопасностью дела обстоят так же печально: утащить пароль не составляет трудностей, если есть доступ к файлу с ключом шифрования и зашифрованным паролем. Да, можно добавить обфускации и скомпилировать скрипт в .exe вместе с нужными файлами. Но нужно понимать, что это — полумеры.

В свое время я использовал для решения подобных задач свой любимый AutoIt, где компилировал скрипт с командой RunAs и радовался… До тех пор, пока не узнал, что AutoIt (особенно старых версий) декомпилируется на раз-два.

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

На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.

Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.

Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).

Основное окно программы.

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

Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.

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

Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.

В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.

RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.

Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.

Основное окно программы.

Программа богато документирована на официальном сайте.

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

Мне остается только добавить, что это ПО бесплатно только для личного использования.

Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.

Запускаем cmd.exe прямо из редактора реестра.

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

А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.

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

Содержание:

  • Зачем обычному приложению могут понадобится права администратора?
  • Запуск программы, требующей права администратора, от обычного пользователя
  • RunAsInvoker в переменной окружения __COMPAT_LAYER
  • Включаем режим RunAsInvoker через манифест exe файла программы

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

Права администратора могут потребоваться программе для модификации некоторых файлов (логи, файлы конфигурации и т.д.) в собственной папке в 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 FilesMyApptestapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

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

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT*shellforcerunasinvoker]
@="Run as user without UAC elevation"
[HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]
@="cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "%1"""

добавть в 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 для текущего процесса и запускает указанную программу:

set __COMPAT_LAYER=RUNASINVOKER

start "" "C:Program FilesMyApptestapp.exe"

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

Как мы уже говорили выше, Windows 10 показывает значок щита UAC у программ, которые для запуска требуют повышение привилегий. Это требование разработчики задают при разработке в специальной секции программы — манифесте.

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

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

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

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

<requestedPrivileges>
<requestedExecutionLevel          level="requireAdministrator"          uiAccess="false"/>
</requestedPrivileges>

Именно благодаря опции 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 "HKLMSOFTWAREMicrosoftWindowsCurrentVersionSideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f

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

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

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

  • Считать значения или внести изменения в критические настройки/параметры операционной системы, например — добавление/удаление записей в реестре или создание новых задач в «Планировщике заданий»;
  • Получить доступ к каким-либо данным на диске, доступ к которым запрещен для учетных записей, не имеющих статус администраторских.
  • Принудительно завершить работу какого-либо запущенного процесса, остановить или внести изменения в параметры запуска системной службы.
  • Запустить системное приложение или службу, для запуска/работы которых также требуются права администратора.

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

  1. Если доступ блокируется операционной системой, а учетная запись пользователя имеет статус администраторской, то программу следует запускать от имени администратора (дело в том, что некоторые приложения в целях безопасности не запускаются от имени администратора даже из-под учетной записи такового).
  2. Запустить программу от имени другого пользователя компьютера, учетная запись которого имеет статус администраторской. Сработает только в том случае, если администратор предоставит пароль от своей учетной записи.

Рассмотрим все на примере Windows 11.

Запуск программ от имени администратора

Здесь все очень просто:

  1. Кликните по запускаемой программе или ее ярлыку на рабочем столе правой кнопкой мыши, затем выберите в контекстном меню пункт «Показать дополнительные параметры»:

Показать дополнительные параметры

  1. Откроется расширенное контекстное меню — выберите в нем пункт «Запуск от имени администратора»:

Запуск от имени администратора

  1. Готово.

Чтобы постоянно не проделывать вышеописанные действия, можно указать системе всегда запускать программу от имени администратора. Для этого:

  1. Откройте окно свойств запускаемой программы, выбрав в контекстном меню пункт «Свойства» либо нажав комбинацию клавиш «Alt + Enter» после выделения значка/ярлыка приложения мышкой.
  2. В окне свойств откройте вкладку «Совместимость», затем установите галочку напротив элемента «Запускать программу от имени администратора» и нажмите «ОК»:

Всегда запускать программу от имени администратора

На этом все.

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

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

  1. Нажмите и удерживайте клавишу «Shift», а затем выполните первый шаг из предыдущей инструкции.
  2. В отобразившемся контекстном меню должен появиться дополнительный пункт — «Запуск от имени другого пользователя» — выберите его:

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

  1. Откроется новое окно, в которое нужно вписать имя учетной записи администратора и пароль от нее, затем нажать кнопку «ОК»:

Ввод пароля от учетной записи

Готово.

Как убрать запуск от имени администратора Windows 10

Несмотря на административные права учетной записи, часто Windows 10 требует прав администратора при запуске программ. Это неудобно, так как откладывает запуск приложений и, как следствие, замедляет работу. Поэтому вопрос о том, как убрать запуск от имени администратора Windows 10, является актуальным для многих пользователей операционной системы.

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

Способы запуска программ

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

  • через меню Пуск;
  • с помощью ярлыка на рабочем столе;
  • через элемент Администрирование в Панели управления.

В каждом из них существуют настройки запуска ПО без запроса административных прав. Смысл настройки в том, чтобы эти права присваивались программе по умолчанию. В этом случае система перестанет их запрашивать.

Как убрать запуск от имени администратора Windows 10 через меню Пуск

Речь идет именно о сообщении на запрос прав администратора. Это наиболее простой и быстрый способ присвоения административных прав программе при запуске. Чтобы выполнить эту операцию через меню Пуск, нужно:

  1. открыть меню Пуск клавишей Win на клавиатуре или кнопкой, расположенной в левом, нижем углу экрана (базовые настройки Windows 10);
  2. на клавиатуре набрать название программы;
  3. на значке найденного соответствия нужно нажать правой клавишей мыши;
  4. в контекстном меню выбрать Дополнительно-Запуск от имени Администратора.

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

Как убрать запуск от имени администратора Windows 10 через ярлык на рабочем столе

Ярлыки различных приложений помещаются на рабочий стол для удобного и быстрого запуска. Через эти элементы можно управлять запуском приложения и показом запроса административных прав. Чтобы запускать программы с соответствующими правами или отключить эту функцию, нужно выполнить несколько действий:

  1. зайти в Свойства ярлыка (правой клавишей мыши по ярлыку-Свойство);
  2. открыть вкладку Ярлык-Дополнительно;
  3. в нижней части окна поставить галочку на флажке Выполнять эту программу от имени Администратора;
  4. Нажать Применить или ОК.

В этом случае запуск выбранного ПО всегда будет происходит с административными правами.

Как убрать запуск от имени администратора Windows 10 через элемент Администрирование в Панели управления

Часто пользователей не устраивает сам факт показа сообщений о требованиях административных прав. Особенно это касается офисных работников, для которых время – деньги.

Убрать это сообщение можно с помощью элемента Администрирование, расположенного в панели управления Windows 10 и других версий операционной системы. Суть принципа заключается в том, что в ОС есть так называемый супер администратор с привилегированными правами. Она отключена по умолчанию в угоду безопасности. Для включения учетной записи супер администратора выполняют следующие действия:

  1. зайти в панель управления, где в правом верхнем углу переключить Просмотр на Крупные или Мелкие значки (если включен просмотр Категории);
  2. перейти по ветке Администрирование-Управление компьютером;
  3. в открывшемся окне в списке слева выбрать Локальные пользователи и группы;
  4. зайти в Пользователи, где в списке найти Администратор;
  5. на пункте Администратор кликнуть правой кнопкой мыши и зайти в Свойства;
  6. в открывшемся диалоговом окне снять галочку на пункте Отключить учетную запись.

После представленный действий учетная запись привилегированного администратора будет включена. Далее стандартными действиями запуска программ можно запускать приложения от имени супер Администратора.

Контроль учетных записей также можно отключить. В этом случае сообщения о запуске ПО с административными правами не будет запускаться и мешать пользователю. Для этого в командной строке нужно прописать команду useraccountcontrolsettings. Откроется окно контроля учетных записей. В его левой части расположен бегунок, который нужно переключить в самую нижнюю позицию. Это отключить уведомление системы при попытках внесения изменений или установке ПО. Однако в таком случае страдает безопасность ОС Windows 10, что пользователь обязательно должен понимать.

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.

Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…

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

Ну, и зачем тебе права?

Программа может запрашивать права администратора условно в двух случаях:

  1. Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
  2. Когда программу скомпилировали со специальным флагом «Требовать права администратора».

С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:

Куда это лезет этот 7Zip?

И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.

Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.

Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:

  • asInvoker. Программа запускается с теми же правами, что и породивший ее процесс (как правило, это explorer.exe c правами пользователя);
  • highestAvailable. Программа попросит максимально доступные пользователю права (у администратора появится окно с запросом повышения UAC, у пользователя — нет);
  • requireAdministrator. Программа будет требовать права администратора в любом случае.

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

Нет, не будет тебе прав

В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.

Простейшим вариантом работы с этим механизмом будет использование переменных среды.

Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:

Запрос повышение прав.

Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:

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

Бесправный редактор реестра.

Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?

С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».

Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.

Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.

Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:

Создаем исправление приложения.

Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).

Далее необходимо в списке исправлений выбрать RunAsInvoker.

Выбираем нужный фикс.

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

Созданный фикс для bnk.exe.

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

Все становится хуже, если приложению действительно нужны права админа. Тогда добавление прав на системные объекты и исправления не помогают.

Ну ладно, держи права

Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.

Ну, посмотрим, что из этого выйдет.

Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.

)

Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.

Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.

Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».

Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:

Затем сохранить пароль в зашифрованном виде в файл:

И теперь использовать этот файл для неинтерактивной работы:

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

Теперь при помощи этого ключа пароль можно зашифровать:

К сожалению, с безопасностью дела обстоят так же печально: утащить пароль не составляет трудностей, если есть доступ к файлу с ключом шифрования и зашифрованным паролем. Да, можно добавить обфускации и скомпилировать скрипт в .exe вместе с нужными файлами. Но нужно понимать, что это — полумеры.

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

На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.

Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.

Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).

Основное окно программы.

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

Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.

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

Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.

В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.

RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.

Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.

Основное окно программы.

Программа богато документирована на официальном сайте.

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

Мне остается только добавить, что это ПО бесплатно только для личного использования.

Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.

Запускаем cmd.exe прямо из редактора реестра.

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

А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.

Запуск от имени администратора не работает.

Работая в Windows, пользователь должен осознавать, что его данные и работоспособность системы постоянно находятся под угрозой. Не важно, используете вы для работы интернет или нет. И одним из средств защиты является работа из-под учётной записи, которая ограничена в правах. Права ограничиваются прежде всего для открываемых документов и программ, которым по умолчанию нередко требуется персональное разрешение. За этим открываемые процессы наткнутся на UAC, а та спросит вас:

окно консоли и UAC

Каждому из нас Windows предоставляет возможность напрямую открыть файл/программу с помощью функции быстрого доступа к предоставлению полного права для полнофункционального запуска. С этой настройкой вы знакомы по команде из контекстного меню:

запуск от имени администратора

Однако нередки случаи, когда пользователь замечает: нажимай по Запуск от имени администратора, не нажимай — система открывает нужное нам всё с теми же ограничениями. Т.е. запуск от имени администратора просто не работает. Разберёмся в причинах. Некоторые из них мы уже покрывали в статье Утеря прав администратором , так что продолжим далее.

Запуск от имени администратора не работает? Причины такие:

Это наиболее типичные источники проблем. С каждой из них мы успешно боролись на страницах блога, так что за подробностями, если интересны, можете пройти по указующим ссылкам.

Отключен UAC

Если вы пытаетесь открыть программу с правами администратора, по умолчанию выскакивает окно Контроля учётных записей на подтверждение действий. Но, если UAC отключен по вашей инициативе или вследствие неверных действий (в том числе и со стороны другого ПО), с запуском программы могут возникнуть проблемы. Так что следует проверить включён ли UAC — это может помочь в решении вопроса. Чтобы убедиться, задействован ли UAC, делаем следующее:

  • зажимаем WIN + R
  • в окне Выполнить вводим команду

быстрый доступ к настройкам UAC

  • проверяем местоположение ползунка настройки UAC. По необходимости меняем положение, выбирая степень защиты. В случае каких-то вопросов обратитесь к статье:

«Битое» контекстное меню

Иногда в работу контекстного меню (точнее, проводника Windows) могут вмешиваться некоторые программы. Которые могут испортить настроение даже в том случае, если их давно уже в системе нет. Если у вас возникли по этому некоторые сомнения, вы можете отремонтировать контекстное меню вручную. Так, все пункт меню, появляющегося после нажатия по ярлыку правой кнопкой мыши, находятся в реестре здесь:

HKEY_CLASSES_ROOT*shellexContextMenuHandlers

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

редактирование контекстного меню из UWC

Проверьте членство в группах пользователей Windows

Если кто не знает, Windows ещё во время установки формирует список пользователей и присваивает им всем (существующим и в перспективе) определённый и ограниченный набор прав. Учётная запись с неограниченными (ну… почти) правами скрыта и требует специальной активации в целях безопасности — не путать Администратора (скрыт) с Пользователем с правами Администратора (вы, если устанавливали Windows под себя). Все такие пользователи формируются в группы по правам на проведение некоторых операций в системе. Логика, я думаю, вам уже ясна: кто-то может делать с файлами всё (почти), а кто-то нет. Чтобы проверить членство своей учётки, наберите очередную быструю команду доступа из WIN + R

Откроется окно Учётных записей пользователей, в котором вы должны увидеть своё имя:

перейти в группу администраторов windows

Если вы не Администратор, собака могла быть здесь зарыта. Присвойте себе членство, Примените, покиньте консоль, закройте все окна для сохранения информации и согласитесь с «перезаходом» в собственную учётку:

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

Администратор отключён зловредом

Это он сделал для того, чтобы вы его не перехватили «на лету». Чаще всего это проявляется при попытке запустить антивирусное ПО, установить обновления Windows и т.п. И особенностью такого деяния является тот факт, что потеря прав сохраняется и в том случае, когда вирус или зловред уже удалён. Оптимальным вариантом действий является работа из-под «живых» антивирусных сборок. Далеко бегать не нужно, забирайте:

Впрочем, если есть свои предпочтения, то лишь бы работало.

Ошибки ПО

Иногда Запуск от имени администратора не работает не из-за злонамеренных действий. Какая-то из программ, сидящая в Автозапуске, спускает триггер, из-за чего, в свою очередь, UAC аварийно «захлопывается» без вашего ведома. Обычно эта настройка видна в планировщике задач Windows. Но, также как и в случае с вирусом, остаточные файлы могут нарушить работу UAC и после удаления. Загрузитесь в Безопасном режиме и проверьте. Это легко сделать без всяких специальных кнопок F8 и т.п. Чтобы запустить Windows после перезагрузки в Безопасном режиме, просто выставьте галочку в пункте:

безопасный режим

В разных версиях Windows путь к исходной настройке свой, но смысл тот же:

выйти в безопасный режим windows 10

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

Напоследок: создайте учётную запись с повышенными привилегиями

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

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

Например, создадим нового пользователя с именем Новый:

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

Также, в статье Как создать суперпользователя Windows? я показываю как заставить себя проявить скрытую учётную запись администратора. Более того, можно провернуть ту же операцию с помощью загрузочного диска или через ремонтную консоль, если из-под обычного сеанса Windows создать нового пользователя не получается. За подробностями обратитесь к статье

Содержание

  • Способ 1: Контекстное меню «Проводника»
  • Способ 2: Меню «Пуск»
  • Способ 3: Панель задач
  • Способ 4: Горячая клавиша
  • Способ 5: «Командная строка»
  • Способ 6: «Диспетчер задач»
  • Способ 7: Свойства исполняемого файла
  • Способ 8: Свойства ярлыка
  • Способ 9: Создание параметра в реестре
  • Вопросы и ответы

Как запускать программу от имени администратора

Способ 1: Контекстное меню «Проводника»

Этот вариант подойдет в тех случаях, когда нужно запустить программу от имени администратора через EXE-объект или ярлык на рабочем столе либо в любом каталоге. Тогда по необходимому объекту надо просто кликнуть правой кнопкой мыши и в появившемся контекстном меню выбрать пункт «Запуск от имени администратора».

Использование контекстного меню Проводника для запуска программы от имени администратора

Способ 2: Меню «Пуск»

Некоторые пользователи задействуют меню «Пуск», чтобы там найти и запустить какую-либо программу. Там тоже присутствует пункт, отвечающий за открытие с повышенными правами. Для этого следует открыть само меню, через поиск отыскать приложение и справа щелкнуть по соответствующей надписи.

Использование меню Пуск для запуска программы от имени администратора

Способ 3: Панель задач

Часто используемые приложения пользователи привыкли добавлять на панель задач, чтобы получать возможность быстро их запустить. В этих ситуациях тоже может потребоваться использовать наивысшие полномочия. Тогда нужно нажать ПКМ по самому значку, потом снова по названию программы и выбрать пункт «Запуск от имени администратора«.

Использование панели задач для запуска программы от имени администратора

Способ 4: Горячая клавиша

Данный вариант рекомендуется, когда юзер хочет оптимизировать свое взаимодействие с компьютером, применяя стандартные горячие клавиши. Комбинация Ctrl + Shift + Enter для запуска ПО с повышенными правами сработает, если оно было изначально выделено или, например, найдено через поиск в меню «Пуск».

Использование горячей клавиши для запуска программы от имени администратором

Способ 5: «Командная строка»

«Командная строка» — стандартное приложение операционных систем Windows, которое позволяет в ручном режиме, используя различные утилиты, выполнять действия на компьютере. Относится это и к запуску софта или системных инструментов, что осуществляется так:

  1. Откройте «Командную строку» любым удобным методом. Детальнее обо всех возможных вариантах читайте в отдельной статье на нашем сайте по ссылке ниже.

    Подробнее: Открытие командной строки в Windows 10

  2. Переход к Командной строке для запуска программы от имени администратора

  3. Введите там команду runas /user:ИмяПКИмяПользователя program.exe, где ИмяПК — полное имя компьютера, а ИмяПользователя — название учетной записи с необходимыми правами, вместо чего можно использовать и учетную запись, которая так и называется «Администратор». program.exe замените на название того исполняемого файла, который хотите запустить, не забыв и про .exe в конце. Если он располагается не на рабочем столе, придется ввести полный путь, например, "C:Program FilesCCleanerCCleaner64.exe".
  4. Ввод команды для запуска программы от имени администратора

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

Отдельно хотелось бы уточнить про системную учетную запись Администратор. По умолчанию обычному пользователю пароль от нее может быть неизвестен, а также часто он попросту отсутствует. Тогда вводимая команда не сработает. Пароль потребуется узнать или сбросить его, задав новый. Об этом читайте развернуто в материалах от других наших авторов далее.

Подробнее:
Сбрасываем пароль для учетной записи «Администратор» в Windows 10
Узнаем пароль администратора на ПК с Windows 7

Lumpics.ru

Способ 6: «Диспетчер задач»

Метод с использованием «Диспетчера задач» пригодится, если возможности запустить приложение через «Проводник» нет. Этот инструмент позволяет создать новую задачу, выставив для нее соответствующий уровень привилегий.

  1. Кликните правой кнопкой мыши по пустому месту на панели задач и выберите там пункт «Диспетчер задач».
  2. Переход в Диспетчер задач для запуска программы от имени администратора

  3. В разделе «Файл» нажмите по «Запустить новую задачу».
  4. Создание новой задачи для запуска программы от имени администратора

  5. Введите в поле название программы с ее расширением, а затем отметьте галочкой пункт «Создать задачу с правами администратора».
  6. Запуск программы от имени администратора через Диспетчер задач

Способ 7: Свойства исполняемого файла

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

  1. Кликните по объекту ПКМ и через контекстное меню перейдите в «Свойства».
  2. Переход в свойства исполняемого файла для запуска программы от имени администратора

  3. Там вас интересует вкладка «Совместимость».
  4. Переход на вкладку Совместимость для запуска программы от имени администратора

  5. Отметьте пункт «Запускать эту программу от имени администратора» и сохраните изменения.
  6. Настройка параметров исполняемого файла для запуска программы от имени администратора

Способ 8: Свойства ярлыка

Если от исполняемого файла программы был создан ярлык, настроить рассматриваемую опцию через «Совместимость» не получится, поскольку там эта вкладка отсутствует. Однако можно задать дополнительные параметры запуска другим методом, который выглядит так:

  1. Сделайте по ярлыку клик правой кнопкой мыши и выберите «Свойства».
  2. Переход в свойства ярлыка для запуска программы от имени администратора

  3. В открывшейся вкладке «Ярлык» перейдите в раздел «Дополнительно».
  4. Переход к дополнительным настройкам ярлыка для запуска программы от имени администратора

  5. Отметьте маркером соответствующий пункт, отвечающий за запуск программы с повышенными полномочиями.
  6. Настройка запуска программы от имени администратора через свойства ярлыка

Способ 9: Создание параметра в реестре

Последний возможный вариант запуска ПО от имени администратора, который практически не пользуется популярностью, — создание параметра в «Редакторе реестра». Тогда выбранное приложение при каждом запуске будет использовать повышенные права.

  1. Вызовите окно «Выполнить», используя стандартное сочетание клавиш Win + R. Введите там regedit и нажмите на Enter.
  2. Переход к редактору реестра для настройки запуска программы от имени администратора

  3. Перейдите по пути HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers.
  4. Переход по ключу реестра для настройки запуска программы от имени администратора

  5. Там нажмите ПКМ и создайте строковый параметр.
  6. Создание параметра для запуска программы от имени администратора

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

  9. Затем дважды кликните по нему ЛКМ и задайте значение ~ RUNASADMIN.
  10. Ввод значения для параметра при настройке запуска программы от имени администратора

В завершение отметим, что иногда пользователи сталкиваются с ситуацией, что строка «Запустить от имени администратора» просто отсутствует в «Проводнике». Чаще всего это вызвано системными сбоями, но иногда может случаться из-за настроек контроля учетных записей. Если вы столкнулись с такой проблемой, сначала советуем изменить параметры UAC, а в случае нерезультативности перейти к восстановлению системных файлов, о чем читайте далее.

Читайте также:
Отключение UAC в Windows 10
Использование и восстановление проверки целостности системных файлов в Windows

Несмотря на административные права учетной записи, часто Windows 10 требует прав администратора при запуске программ. Это неудобно, так как откладывает запуск приложений и, как следствие, замедляет работу. Поэтому вопрос о том, как убрать запуск от имени администратора Windows 10, является актуальным для многих пользователей операционной системы.

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

Способы запуска программ

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

  • через меню Пуск;
  • с помощью ярлыка на рабочем столе;
  • через элемент Администрирование в Панели управления.

В каждом из них существуют настройки запуска ПО без запроса административных прав. Смысл настройки в том, чтобы эти права присваивались программе по умолчанию. В этом случае система перестанет их запрашивать.

Речь идет именно о сообщении на запрос прав администратора. Это наиболее простой и быстрый способ присвоения административных прав программе при запуске. Чтобы выполнить эту операцию через меню Пуск, нужно:

  1. открыть меню Пуск клавишей Win на клавиатуре или кнопкой, расположенной в левом, нижем углу экрана (базовые настройки Windows 10);
  2. на клавиатуре набрать название программы;
  3. на значке найденного соответствия нужно нажать правой клавишей мыши;
  4. в контекстном меню выбрать Дополнительно-Запуск от имени Администратора.

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

Как убрать запуск от имени администратора Windows 10 через ярлык на рабочем столе

Ярлыки различных приложений помещаются на рабочий стол для удобного и быстрого запуска. Через эти элементы можно управлять запуском приложения и показом запроса административных прав. Чтобы запускать программы с соответствующими правами или отключить эту функцию, нужно выполнить несколько действий:

  1. зайти в Свойства ярлыка (правой клавишей мыши по ярлыку-Свойство);
  2. открыть вкладку Ярлык-Дополнительно;
  3. в нижней части окна поставить галочку на флажке Выполнять эту программу от имени Администратора;
  4. Нажать Применить или ОК.

В этом случае запуск выбранного ПО всегда будет происходит с административными правами.

Как убрать запуск от имени администратора Windows 10 через элемент Администрирование в Панели управления

Часто пользователей не устраивает сам факт показа сообщений о требованиях административных прав. Особенно это касается офисных работников, для которых время – деньги.

Убрать это сообщение можно с помощью элемента Администрирование, расположенного в панели управления Windows 10 и других версий операционной системы. Суть принципа заключается в том, что в ОС есть так называемый супер администратор с привилегированными правами. Она отключена по умолчанию в угоду безопасности. Для включения учетной записи супер администратора выполняют следующие действия:

  1. зайти в панель управления, где в правом верхнем углу переключить Просмотр на Крупные или Мелкие значки (если включен просмотр Категории);
  2. перейти по ветке Администрирование-Управление компьютером;
  3. в открывшемся окне в списке слева выбрать Локальные пользователи и группы;
  4. зайти в Пользователи, где в списке найти Администратор;
  5. на пункте Администратор кликнуть правой кнопкой мыши и зайти в Свойства;
  6. в открывшемся диалоговом окне снять галочку на пункте Отключить учетную запись.

После представленный действий учетная запись привилегированного администратора будет включена. Далее стандартными действиями запуска программ можно запускать приложения от имени супер Администратора.

Контроль учетных записей также можно отключить. В этом случае сообщения о запуске ПО с административными правами не будет запускаться и мешать пользователю. Для этого в командной строке нужно прописать команду useraccountcontrolsettings. Откроется окно контроля учетных записей. В его левой части расположен бегунок, который нужно переключить в самую нижнюю позицию. Это отключить уведомление системы при попытках внесения изменений или установке ПО. Однако в таком случае страдает безопасность ОС Windows 10, что пользователь обязательно должен понимать.

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

Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется.

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

В данной статье, в качестве примера, продемонстрирован запуск установочного файла программы WinRAR однако, приведенный ниже способ подходит для запуска и установки большинства программ на ОС Windows 7, 8, 8.1, 10, 11. 


ВАЖНО!
Нижеописанный способ не позволит вам получить повышенные права для программы. Используемый параметр RUNASINVOKER подавляет окно UAC и сообщает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.

Решение:

1. При попытке запуска программы требующей повышения прав (прим. в данном примере это WinRAR) перед вами появится окно Контроль учетных записей пользователя с запросом имени и пароля пользователя имеющего права администратора. Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится (Рис.1).

Рис.1

.

2. Вызовите меню (прим. для вызова меню нажмите правой кнопкой мыши), выберите Создать, затем выберите Текстовый документ (прим. после создания текстового документа, присвойте ему имя. В данном примере имя RUN, но вы можете выбрать любое другое) (Рис.2).

Рис.2

.

3. Откройте созданный текстовый документ и введите:

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

(прим. можете скопировать отсюда и вставить в текстовый документ) (Рис.3).

Рис.3

.

4. Выберите в окне Файл, затем нажмите Сохранить как… (Рис.4).

Рис.4

.

5. Сохраните текстовый документ с расширением .bat (прим. в данном примере это RUN.bat) (Рис.5).

Рис.5

.

6. Для принудительного запуска приложения без прав администратора и подавлением запроса UAC, перетащите файл, который нужно запустить (прим. в данном примере это WinRAR) на созданный .bat файл (прим. в данном примере это RUN.bat) на рабочем столе (Рис.6).

Рис.6

.

7. Файл запустится без появления запроса UAC и без ввода пароля администратора (Рис.7).

Рис.7

.

Запуск программы без прав администратора завершен!

.

Is there any way that I can force a program that normally requires administrator privileges (via UAC) to run without them? (ie: no UAC prompt and no system-wide access.)

Added: Without modifying the executable itself.


In spite of James’s answer, I have found a few ways that it can almost be done:

  1. By modifying the executable I can remove the trustInfo entry from the manifest (or the manifest entirely, so I can use an external one), allowing the program to start without UAC. Unfortunately this modifies the executable, so it exits shortly after due to an internal checksum test.
  2. By using Process Explorer I can launch it as a Limited User. However this seems to limit it significantly more than I would like (it runs like Protected Mode IE and so can access significantly less than what my standard un-elevated user can).

asked Aug 4, 2010 at 13:49

Andrew Russell's user avatar

Andrew RussellAndrew Russell

1,7453 gold badges12 silver badges11 bronze badges

6

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT*shellforcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]
@="cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "%1"""

Save this text in <name_of_file>.reg and add it to the Windows Registry. (Double-clicking on it should do the trick.)

Afterwards, right-click the app you’d like to run without administrative privileges and select «Run without privilege elevation».

In some cases — small amount 0.1% of programs may ask twice about UAC prompt.

answered Jul 18, 2012 at 15:20

Vom's user avatar

VomVom

9727 silver badges3 bronze badges

12

Save to nonadmin.bat:

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

Now you can drag and drop programs to this to run them without admin.

This doesn’t require admin privileges as changing that registry key does. Also you won’t clutter the context menu.

Based on Vom’s answer


Update: Should now work with programs that have spaces in name as well.

answered Oct 2, 2015 at 11:27

Hjulle's user avatar

HjulleHjulle

9527 silver badges18 bronze badges

12

I hope I’m not too late to the party, but I was looking for a similar question and without seeing an answer here I found out that Windows’ builtin RunAscommand, when run as administrator, can do that with /trustlevel switch.

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.

This worked in my case.
Ironically, starting a program explicitly without elevation requires an elevated command prompt. Go figure. :)
I hope it helps you.

answered Jan 5, 2012 at 8:15

Mxx's user avatar

MxxMxx

2,7732 gold badges19 silver badges35 bronze badges

6

If you have a particular application that you want to always run without UAC, you can target it with the Registry (add the text to a REG file and import it into the Registry):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers]
"C:\example\application.exe"="RunAsInvoker"

Unlike this answer, this solution requires no alternate click or change to user interaction.

Microsoft calls this process adding the RunAsInvoker «Compatibility Shim».

Community's user avatar

answered Sep 9, 2016 at 20:16

palswim's user avatar

palswimpalswim

3,3719 gold badges45 silver badges65 bronze badges

2

If it’s a setup (installation) exe file that is requiring administration privilege, there’s a trick to run it without elevated access:

If the file’s name contains words like setup or install windows forcefully runs it with elevated access even if it doesn’t need elevated access:

enter image description here

If the .exe file has a manifest in it, these heuristics for elevation do not apply.

For example if the manifest indicates that the exe does not need elevation, even including any of these words in the file name won’t make it run as elevated.

Another keyword is patch as stated by Mgamerz in the comments.

This is documented on the UAC (User Account Control) docs:

Installer detection detects setup files, which helps prevent installations from being run without the user’s knowledge and consent.

Installer detection only applies to:

  • 32-bit executable files.

  • Applications without a requested execution level attribute.

  • Interactive processes running as a standard user with UAC enabled.

Before a 32-bit process is created, the following attributes are checked to determine whether it is an installer:

  • The file name includes keywords such as «install,» «setup,» or «update.»

Read mode here: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works

answered Jan 25, 2019 at 11:54

Shayan's user avatar

ShayanShayan

1,3835 gold badges22 silver badges31 bronze badges

3

While in his question Andrew stated that the following did not quite work:

By modifying the executable I can remove the trustInfo entry from the
manifest (or the manifest entirely, so I can use an external one),
allowing the program to start without UAC. Unfortunately this modifies
the executable, so it exits shortly after due to an internal checksum
test.

I was able to modify an external .manifest file for the software I was using and change

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

to

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

Turns out the software I was using did not really require administrator rights so I was able to run it on a Standard User account without UAC or administrator passwords. Thanks!

answered Jul 21, 2013 at 2:56

Aurimas's user avatar

AurimasAurimas

2242 silver badges4 bronze badges

1

I solved this problem today using the MS application customization toolkit.

I followed the instructions in a tech republic article.

Basically:

1) you get the toolkit from MS here .

2) Click Fix

3) Choose the RunAsInvoker option

4) Right Click the fix and choose Install

0xC0000022L's user avatar

0xC0000022L

6,4259 gold badges46 silver badges80 bronze badges

answered May 18, 2011 at 1:05

user53639's user avatar

user53639user53639

2461 gold badge2 silver badges7 bronze badges

6

There is two ways. You can use RunAs with a standard user name:

RunAs /user:StandardUser C:TempFoo.exe

But you’ll need to enter the user’s password.

Or you can use PsExec from SysInternal, where you can pass the password as an argument:

PsExec -u StandardUser -p secret C:TempFoo.exe

answered Jun 10, 2021 at 10:56

Maxence's user avatar

1

I fixed this problem by going changing the permissions on the folder that contained the program.

I added each user that will run that program and gave them «full control» priviledges. That took care of the problem and I left the «run as admin» unchecked.

I don’t have any security concerns for the users who will be running the program.

slhck's user avatar

slhck

219k68 gold badges592 silver badges580 bronze badges

answered Apr 20, 2012 at 4:28

Tim D's user avatar

Tim DTim D

31 bronze badge

No, if a program requires UAC then it is trying to access something outside of its sandbox. The program will not correctly run without the elevated access.

If you just want to get rid of the notification, you can disable UAC.

Disable UAC on Windows Vista: Start, type «user». Click on «User Accounts». On the window that pops up, click on «User Account Control Settings» and then Turn off UAC.

Disable UAC on Windows 7: Start, type «user». Click on «User Account Control Settings». Drag the choice bar all the way to the bottom to «Never Notify.»

answered Aug 4, 2010 at 14:09

James Watt's user avatar

James WattJames Watt

1,8157 gold badges19 silver badges26 bronze badges

4

Is there any way that I can force a program that normally requires administrator privileges (via UAC) to run without them? (ie: no UAC prompt and no system-wide access.)

Added: Without modifying the executable itself.


In spite of James’s answer, I have found a few ways that it can almost be done:

  1. By modifying the executable I can remove the trustInfo entry from the manifest (or the manifest entirely, so I can use an external one), allowing the program to start without UAC. Unfortunately this modifies the executable, so it exits shortly after due to an internal checksum test.
  2. By using Process Explorer I can launch it as a Limited User. However this seems to limit it significantly more than I would like (it runs like Protected Mode IE and so can access significantly less than what my standard un-elevated user can).

asked Aug 4, 2010 at 13:49

Andrew Russell's user avatar

Andrew RussellAndrew Russell

1,7453 gold badges12 silver badges11 bronze badges

6

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT*shellforcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]
@="cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "%1"""

Save this text in <name_of_file>.reg and add it to the Windows Registry. (Double-clicking on it should do the trick.)

Afterwards, right-click the app you’d like to run without administrative privileges and select «Run without privilege elevation».

In some cases — small amount 0.1% of programs may ask twice about UAC prompt.

answered Jul 18, 2012 at 15:20

Vom's user avatar

VomVom

9727 silver badges3 bronze badges

12

Save to nonadmin.bat:

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

Now you can drag and drop programs to this to run them without admin.

This doesn’t require admin privileges as changing that registry key does. Also you won’t clutter the context menu.

Based on Vom’s answer


Update: Should now work with programs that have spaces in name as well.

answered Oct 2, 2015 at 11:27

Hjulle's user avatar

HjulleHjulle

9527 silver badges18 bronze badges

12

I hope I’m not too late to the party, but I was looking for a similar question and without seeing an answer here I found out that Windows’ builtin RunAscommand, when run as administrator, can do that with /trustlevel switch.

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.

This worked in my case.
Ironically, starting a program explicitly without elevation requires an elevated command prompt. Go figure. :)
I hope it helps you.

answered Jan 5, 2012 at 8:15

Mxx's user avatar

MxxMxx

2,7732 gold badges19 silver badges35 bronze badges

6

If you have a particular application that you want to always run without UAC, you can target it with the Registry (add the text to a REG file and import it into the Registry):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers]
"C:\example\application.exe"="RunAsInvoker"

Unlike this answer, this solution requires no alternate click or change to user interaction.

Microsoft calls this process adding the RunAsInvoker «Compatibility Shim».

Community's user avatar

answered Sep 9, 2016 at 20:16

palswim's user avatar

palswimpalswim

3,3719 gold badges45 silver badges65 bronze badges

2

If it’s a setup (installation) exe file that is requiring administration privilege, there’s a trick to run it without elevated access:

If the file’s name contains words like setup or install windows forcefully runs it with elevated access even if it doesn’t need elevated access:

enter image description here

If the .exe file has a manifest in it, these heuristics for elevation do not apply.

For example if the manifest indicates that the exe does not need elevation, even including any of these words in the file name won’t make it run as elevated.

Another keyword is patch as stated by Mgamerz in the comments.

This is documented on the UAC (User Account Control) docs:

Installer detection detects setup files, which helps prevent installations from being run without the user’s knowledge and consent.

Installer detection only applies to:

  • 32-bit executable files.

  • Applications without a requested execution level attribute.

  • Interactive processes running as a standard user with UAC enabled.

Before a 32-bit process is created, the following attributes are checked to determine whether it is an installer:

  • The file name includes keywords such as «install,» «setup,» or «update.»

Read mode here: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works

answered Jan 25, 2019 at 11:54

Shayan's user avatar

ShayanShayan

1,3835 gold badges22 silver badges31 bronze badges

3

While in his question Andrew stated that the following did not quite work:

By modifying the executable I can remove the trustInfo entry from the
manifest (or the manifest entirely, so I can use an external one),
allowing the program to start without UAC. Unfortunately this modifies
the executable, so it exits shortly after due to an internal checksum
test.

I was able to modify an external .manifest file for the software I was using and change

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

to

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

Turns out the software I was using did not really require administrator rights so I was able to run it on a Standard User account without UAC or administrator passwords. Thanks!

answered Jul 21, 2013 at 2:56

Aurimas's user avatar

AurimasAurimas

2242 silver badges4 bronze badges

1

I solved this problem today using the MS application customization toolkit.

I followed the instructions in a tech republic article.

Basically:

1) you get the toolkit from MS here .

2) Click Fix

3) Choose the RunAsInvoker option

4) Right Click the fix and choose Install

0xC0000022L's user avatar

0xC0000022L

6,4259 gold badges46 silver badges80 bronze badges

answered May 18, 2011 at 1:05

user53639's user avatar

user53639user53639

2461 gold badge2 silver badges7 bronze badges

6

There is two ways. You can use RunAs with a standard user name:

RunAs /user:StandardUser C:TempFoo.exe

But you’ll need to enter the user’s password.

Or you can use PsExec from SysInternal, where you can pass the password as an argument:

PsExec -u StandardUser -p secret C:TempFoo.exe

answered Jun 10, 2021 at 10:56

Maxence's user avatar

1

I fixed this problem by going changing the permissions on the folder that contained the program.

I added each user that will run that program and gave them «full control» priviledges. That took care of the problem and I left the «run as admin» unchecked.

I don’t have any security concerns for the users who will be running the program.

slhck's user avatar

slhck

219k68 gold badges592 silver badges580 bronze badges

answered Apr 20, 2012 at 4:28

Tim D's user avatar

Tim DTim D

31 bronze badge

No, if a program requires UAC then it is trying to access something outside of its sandbox. The program will not correctly run without the elevated access.

If you just want to get rid of the notification, you can disable UAC.

Disable UAC on Windows Vista: Start, type «user». Click on «User Accounts». On the window that pops up, click on «User Account Control Settings» and then Turn off UAC.

Disable UAC on Windows 7: Start, type «user». Click on «User Account Control Settings». Drag the choice bar all the way to the bottom to «Never Notify.»

answered Aug 4, 2010 at 14:09

James Watt's user avatar

James WattJames Watt

1,8157 gold badges19 silver badges26 bronze badges

4

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

В этой инструкции подробно о способе выполнить установку программы не имея прав Администратора в Windows 11, Windows 10 и других версиях системы.

Установка программы без прав и ввода пароля учетной записи Администратора

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

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

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

  1. Запустите командную строку, для этого в поиске на панели задач начните набирать «Командная строка» и выберите нужный результат, либо нажмите клавиши Win+R на клавиатуре, введите cmd и нажмите Enter.
  2. В командной строке введите команду
    set __COMPAT_LAYER=RunAsInvoker

    и нажмите Enter.

  3. Введите путь к файлу установщика и нажмите Enter (либо просто перетащите файл на окно командной строки, чтобы вставить полный путь к нему). Запуск установки программы без прав администратора
  4. Если всё прошло гладко, установка программы должна запуститься, и её можно продолжить, с учётом описанных далее нюансов. Процесс установки без прав администратора

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

  • Главное последствие этого при установке программ описанным способом— невозможность устанавливать их в защищенные системные папки. В последних версиях Windows это, в том числе, папка Program Files, то есть придется создавать свою папку для устанавливаемых программ в расположении, где это разрешено.
  • Также установщик не сможет прописать параметры в реестр «для всех пользователей», что для некоторых программ может привести к их неправильной работе, для некоторых других, как для архиватора из примера выше — невозможности прописать ассоциации файлов и добавить пункты в контекстные меню папок и файлов (хотя сама программа исправно работает).
  • Удалить установленные показанным способом программы, не имея прав администратора не получится через «Программы и компоненты». Для удаления потребуется тем же методом запускать файл удаления (uninstall) из папки программы.

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

set __COMPAT_LAYER=RunAsInvoker && start "" %1

и в дальнейшем запускать такие установщики и программы простым перетаскиванием установщика на созданный файл .bat.

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

Как и в предыдущем способе, работоспособность не гарантирована: в случае, если для каких-то процедур программе требуются «настоящие» права администратора, выполнить их она не сможет.

Понравилась статья? Поделить с друзьями:
  • Программа проводник перезапускается windows 7 как исправить
  • Программа проводник не работает windows 7 как исправить
  • Программа проверки телефона на ошибки
  • Программа прекратила работу как исправить
  • Программа которая исправляет ошибки windows 10