Не спрашивать права администратора windows

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

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

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

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

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

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

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

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

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

Читайте также:  Disk benchmark on linux

Если запустить 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 10 запустился непривилегированный процесс 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 файлу (понадобятся права администратора).

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

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

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

set __COMPAT_LAYER=Win7RTM 640×480

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

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

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

start «» «C:\Program Files\MyApp\testapp.exe»

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

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

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

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

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

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

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

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

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

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

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

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

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

Как можно выйти из режима администратора в ОС Windows 10 и убрать права

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

С использованием командной строки

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

  • Ввести в поисковое окно Windows 10 последовательность букв «cmd».
Читайте также:  Open ftp server windows

  • Среди всплывших результатов нажать на «Запустить от имени Администратора».

  • Теперь требуется завести нового пользователя и наделить его возможностью администрирования. При этом следует обязательно отменить влияние старого администратора.
  • При помощи команды «net users» вывести на экран список юзеров.

  • Вбить нового (например, New_Admin_02) и задать для него индивидуальные параметры: net localgroup Администраторы New_Admin_02 /add и нажать Enter.

  • Осталось избавиться от предыдущего управленца. Следует закрыть все и зайти в консоль уже от имени нового админа.

  • В командную строку вписать команду: net localgroup Пользователи имя_пользователя /delete.

  • Учетка обновлена, и права админа присвоены новому человеку.

С помощью утилиты Локальная политика безопасности

Понадобится прибегнуть к функции окна «Выполнить»:

  • Забиваем в строку комбинацию secpol.msc.

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

  • Внизу поставить отметку на пункте «Отключен».
  • Выйти из режима.

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

  • Зажать клавиши «Win+R», забить в строку compmgmt.msc и нажать «Ввод».

  • Откроется список всех заведенных аккаунтов пользователей.
  • Кликнуть на том, которому нужно дать разрешение на администрирование.
  • При двойном щелчке выплывет поле «Свойства пользователя», там открыть вкладку «Членство в группах», внизу нажать кнопку «Добавить».

  • Создать новую строку, подписать «Администраторы», подтвердить.

  • Открыть тип объекта — группы, нажать «Удалить», «ОК»

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

Утилита управление компьютером

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

  • Развернуть панель управления через строку поиска на панели задач.

  • Найти и кликнуть на пункт «Учетные записи пользователя».

  • Выбрать подпункт «Управление другой учетной записью».

  • В списке отметить пользователя, которому необходимо разрешить администрирование, и нажать пункт с изменениями типа аккаунта.

  • Поставить галочку в поле напротив администратора.

Можно и совсем отключить контроль UAC на некоторое время, там же:

  • Зайти в «Панель управления» — «Учетные записи пользователя».

  • В пространстве отдела установить ползунок на самом нижнем уровне, напротив пометки: «Никогда не уведомлять».

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

Оцените статью