Как разрешить запуск приложения
В Windows 10 (а также Vista, 7 и 8) разработчики из Microsoft добавили компонент контроля учетных записей пользователей (UAC). Это программный модуль, позволяющий пользователю детально контролировать какие программы и компоненты запускаются в среде установленной операционной системы.
И именно из-за него при запуске какой-либо сторонней программы не из Windows Store появляется запрос, стоит ли разрешать приложению вносить изменения в устройство. Как избавиться от этих надоедливых запросов?
Нужен ли UAC?
UAC добавлен в ОС для того, чтобы пользователь точно знал какие программы запускаются на его компьютере. Ведь помимо установленных самим юзером приложений бывают ещё и вирусы. UAC же запрещает самостоятельный автозапуск любых программ без разрешения от пользователя.
Соответственно, даже если на жестком диске каким-либо образом окажется зараженный файл – он не нанесет никакого вреда, так как его запуск просто заблокируется операционной системой. Главное – чтобы юзер случайно не дал разрешение на исполнение указанного файла.
С другой же стороны, если на компьютере установлен надежный антивирус, защищающий практически от любого зловредного ПО, то включенный модуль UAC будет попросту мешать своими назойливыми запросами. Вот в таких случаях его можно отключить, хоть Microsoft и не рекомендует этого делать.
Как отключить запросы от UAC?
Самый быстрый способ отключения уведомлений следующий:
- в диалоговом окне уведомления (при запуске стороннего приложения) кликнуть на «Подробнее», затем – «Настройка выдачи таких уведомлений»;
- в следующем окне с помощью ползунка изменить уровень на «Не уведомлять»;
- нажать «Ок», подтвердить запрос (выполнить может только пользователь с правами администратора).
Опытные пользователи рекомендуют не отключать полностью UAC, а устанавливать её на уровень «Уведомлять только о приложениях от неизвестных издателей». В этом случае все программы, которые будет запускать пользователь самостоятельно, Windows не заблокирует. Но приложения, которые прописываются в автозагрузку, будут запрашивать разрешение от юзера. Уведомления при этом будут появляться крайне редко, но компьютер все же будет защищен от автоматической установки мошеннического ПО.
И на Windows 10, и в других редакциях ОС (начиная с «семерки») отключение UAC выполняется аналогичным образом. Пользователь без прав администратора изменить параметры не сможет.
Запрет запуска программ для рабочего стола
В Windows 10 редакции 1703 и старше (включая корпоративную редакцию) Microsoft также добавила модуль для запрета установки программ не из Windows Store. Данная функция будет весьма полезной, к примеру, для компьютеров, установленных в учебных заведениях – из-за запрета ученики или студенты не смогут установить стороннее ПО. Но для домашних ПК модуль больше мешает, именно из-за назойливых уведомлений при попытке установить любую программу с exe-файла.
Чтобы снять ограничение на запуск программ не из магазина приложений потребуется:
- перейти в «Параметры», затем – «Приложения», после – «Приложения и возможности»;
- из пункта «Установка приложений» с помощью выпадающего меню разрешить установку программ из любого места;
- нажать «Ок», подтвердить запрос (могут только пользователи с правами администратора).
Перезагружать ПК тоже не нужно – настройки активируются мгновенно. Но при этом рекомендуется использовать антивирус, чтобы предотвратить установку с exe-файла вирусных приложений.
Стоит учесть, что в определенных ситуациях изменить данную настройку не получится. Такое бывает, если запрет на внесение изменений в параметры добавлен через «Групповые политики». Так чаще всего делают в офисных компьютерах, подключенных к общей сети.
Чем чревато?
Если на компьютере не инсталлирован антивирус и все вышеуказанные настройки безопасности отключены, то вероятность заражения ПК вирусом будет критически высокой. Более того, именно такие компьютеры в свое время массово заражались «трояном» Petya A., который шифровал все файлы на жестком диске и для их дешифровки требовал совершить перевод на Bitcoin-кошелек злоумышленника. Ответственность за такие последствия несет сам пользователь.
Итого, оптимальный вариант – отключить уведомления, но взамен установить любой современный антивирус и регулярно обновлять Windows. В таком случае и назойливые запросы исчезнут, но и компьютер не останется под угрозой. Тот же модуль UAC был добавлен не случайным образом, а непосредственно для защиты пользователей.
Здравствуйте. И хотя прошлая статья имеет мало практического применения, так как легко обходится элементарным изменением имени файла. Но перейдем в более приятную, для системных администраторов части нашей программы. А точнее, запрет запуска всех программ, кроме списка разрешенных. Этот вариант имеет гораздо больше практического применения. Есть два способа, поэтому вот меню для перехода к нужному способу:
1. Через редактор групповых политик (только издания Professional и выше)
2. Через реестр Windows (универсален)
1. Запрет запуска всех программ, кроме списка разрешенных с помощью редактора групповых политик Windows
Открываем редактор групповых политик, для этого зажимаем клавиши Win+R и в открывшееся окно вводим gpedit.msc
Переходим в раздел:
В открывшемся окошке вводим имена исполняющих файлов программ, которые хотим разрешить (например, word.exe, excel.exe, paint.exe, notepad.exe). Жмём ОК.
Да, это самое узкое место в данной системе, так как указываются только имена, а не полный путь и можно переименовать какую-нибудь программу в одно из этих имён. Но для более серьезного запрета используется другие средства, о которых мы поговорим в другой раз. Для большинства пользователей и эта система защита будет непреодолимой.
Жмём ОК или Применить для сохранения настроек.
2. Разрешаем запуск только определенного списка программ с помощью редактор реестра Windows.
Открываем редактор реестра, для этого зажимаем клавиши Win+R и вводим regedit
В открывшемся окне переходим в раздел:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
Если какого раздела нет в реестре, просто создавайте его.
Задаём ему имя RestrictRun и кликаем двойным кликом, чтобы открыть настройку параметра. Указываем в качестве значения 1
Теперь создаем раздел и задаем ему тоже имя RestrictRun
В этом новом разделе, создаем строковый параметр с именем 1 и указываем в его значении имя исполняющего файла программы (например word.exe), которую хотим разрешить.
Результатом наших действий в обоих способах будет следующим:
программы, включенные в список будут без проблем запускать;
при попытке запусти программу, не включенную в список будет выдаваться следующее окно.
Вроде всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу во Вконтакте и канал YouTube.
Спасибо за внимание
Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется (например, вы можете вручную предоставить необходимые права пользователям на каталог программы в 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.
Если запустить 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 640x480
Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:
- RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC;
- RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора);
- RunAsAdmin — запуск приложение с правами администратора (запрос AUC появляется всегда).
Следующий код включает режим RUNASINVOKER для текущего процесса и запускает указанную программу:
start "" "C:\Program Files\MyApp\testapp.exe"
Включаем режим RunAsInvoker через манифест exe файла программы
Вы можете отредактировать манифест exe файла программы и отключить требование запускать программу в привилегированном режиме.
Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.
В дереве слева перейдите в раздел Manifest и откройте манифест программы.
Обратите внимание на строки:
Именно благодаря опции requireAdministrator Windows всегда запускает эту программу с правами администратора.
Измените requireAdministrator на asInvoker и сохраните изменения в exe файле.
Обратите внимание, что теперь у иконки программы пропал щит 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 и убедитесь, что программа использует внешний файл манифеста, в котором указано, что нужно запускаться без прав администратора.
Отключение UAC с целью разблокирования приложения
Если на Windows 10 у вас не получается выполнить установку программ, первое что нужно сделать, это отключить Контроль учетных записей. Для этого стоит выполнить следующее:
- Жмём «Пуск» и в строку поиска вводим следующий запрос: «Изменение параметров контроля учетных записей» или просто вводим «UAC».
- Откроется новое окно. Перетаскиваем ползунок в положение «Никогда не уведомлять».
Важно отметить, что UAC можно отключить с помощью редактора реестра. Для этого необходимо проделать следующие действия:
- Появится окно редактора реестра. Переходим по ветке «HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System». В окне справа находим параметр «EnableLUA» и выставляем ему значение «0».
- После отключения Контроля учетных записей вы сможете устанавливать множество приложений без каких-либо блокировок.
Удаление цифровой подписи как метод разблокирования приложения
Во многих случаях блокировка приложений появляется тогда, когда система сталкивается с софтом, имеющим просроченную цифровую подпись. Если вы уверены в том, что ваша программа полностью безопасна, цифровую подпись можно удалить. Однако перед удалением стоит проверить её наличие. Для этого необходимо выполнить следующее:
- Открываем файл, который нужно проверить. Далее выбираем «Файл», «Сведения», «Сведения о цифровой подписи».
- Убедившись в том, что подпись имеется, стоит её удалить. Для этого открываем программу FileUnsigner и читаем инструкцию о том, как удалить цифровую подпись с помощью данного софта.
После удаления данного элемента можно произвести установку программ на компьютер с Windows 10. Система не будет блокировать запуск приложений и установочный файл софта.
Использование Локальной политики безопасности для блокировки и разблокировки софта
Еще один способ, как заблокировать и разблокировать приложение – это использовать инструмент «Локальные политики безопасности». Для того, чтобы создать исключения для программы, стоит выполнить следующее:
- Откроется новое окно. Выбираем «Параметры безопасности», «Политики управления приложениями», «AppLocker» и выбираем «Исполняемые правила».
- Справа на пустом месте нажимаем правой кнопкой мыши и выбираем «Создать правило…».
- Откроется окно Мастера создания новых правил. Жмём «Далее».
- Появится еще одно окно. Здесь нам нужно поставить отметку «Разрешить» или «Запретить» запуск программы. Оставляем раздел «Все» пользователи и жмем «Далее».
- В следующем окне мы выбираем «Издателя», так как хотим заблокировать или разблокировать программу.
- В новом окне нажимаем на кнопку «Обзор» и указываем путь к файлу приложения.
- Добавив файл, ползунком указываем уровень доверия к файлу. Либо разрешаем его запуск, либо блокируем.
- Нажимаем на кнопку «Создать». Правило готово. Теперь, чтобы система его приняла, стоит запустить командную строку с правами Администратора и ввести следующее: gpupdate /force. Локальные политики будут обновлены. Софт будет разблокированный или заблокированный (в зависимости от того, что вы указали).
Таким образом, любая настройка правил для той или иной программы позволяет её запускать или блокировать на компьютере с Windows 10, чего, в принципе, мы и добивались.
Читайте также: