отключить uac для одного приложения
Как отключить UAC для определенной программы в Windows 10?
В этой статье мы покажем, как выборочно отключить UAC для определенного приложения, не отключая полностью эту службу User Account Control. Рассмотрим несколько способов отключения контроля учетных записей для приложениия с помощью флага совместимости RunAsInvoker.
Флаг RunAsInvoker позволяет запустить приложение с маркером, унаследованным от родительского процесса. При этом отменяется обработка манифеста приложения, и обнаружение процессов установщика. Данный параметр не предоставляет права администратора, а только блокирует появление окна UAC.
В качестве примера мы отключим появление запроса User Account Control для редактора реестра (regedit.exe). Несмотря на то, что у моей учетной записи есть права администратора, при запуске утилиты все равно появляется запрос UAC на подтверждение запуска.
Отключение UAC для программы с помощью Application Compatibility Toolkit
Нам понадобится утилита Application Compatibility Toolkit, которая входит в состав Windows ADK. Скачать актуальную версию Windows ADK для Windows 10 можно здесь.
Запустите скачанный файл adksetup.exe и при установке (программе нужен доступ в Интернет) выберите только Application Compatibility Toolkit.
В системе появится две версии Application Compatibility Administrator — 32-х и 64-х битная версия. Запустите версию Application Compatibility Administrator в зависимости от разрядности приложения, для которого вы хотите подавить запрос UAC.
Запустите утилиту Compatibility Administrator (32-bit) с правами администратора (!). В разделе Custom Databases, щелкните ПКМ по элементу New Database и выберите пункт Create New-> Application Fix.
В открывшемся окне нужно указать имя приложения (regedit), производителя (Microsoft) и путь к исполняемому файлу ( C:\Windows\regedit.exe ).
Пропустите следующее окно мастера настройки (Compatibility Mode), нажав Next. В окне Compatibility Fixes отметьте опцию RunAsInvoker.
При желании можно убедиться, что приложение может работать без UAC, нажав на кнопку тестового запуска (Test Run).
В окне Matching Information вы можете указать какие параметры приложения нужно проверять (версию, чексумму, размер и т.д.). Я оставил включенными проверки COMPANY_NAME,PRODUCT_NAME и ORIGINAL_FILENAME, чтобы не пересоздавать файл исправления после очередного обновления Windows 10 и обновлении версии файла regedit.
Нажмите Finish и укажите имя файла, в который нужно сохранить созданный пакет исправления совместимости, например regedit.sdb. В этом файле будут содержаться инструкции по запуску приложения с заданными опциями совместимости.
Осталось применить пакет с исправлением совместимости к вашему приложению. Сделать это можно непосредственно из консоли Compatibility Administrator (выбрав в меню пункт Install), либо из командной строки.
Если все сделали правильно, появится сообщение об успешном применении пакета.
После установки пакета, соответствующая запись появится в списке установленных программ Windows (Programs and Features).
Попробуйте теперь запустить приложение в сессии пользователя без прав локального администратора. Теперь оно должно запуститься без появления запроса UAC.
Теперь проверьте, с какими привилегиями запущено данное приложение. Для этого в Task Manager на вкладке процессов добавьте столбец “Elevated”. Убедитесь, что процесс regedit.exe запущен от пользователя в непривилегированном режиме ( Elevated=No ).
В таком процесс редактора реестра пользователь может редактировать только собственные ветки реестра, но при попытке отредактировать/создать что-то в системной HKLM, появляется ошибка “You don’t have the requisite permissions”.
В дальнейшем это исправление совместимости можно распространить на компьютеры пользователей с помощью групповых политик. Тем самым можно добиться отключения проверки системы контроля учетных записей (UAC) для определенных приложений на множестве компьютеров в домене Active Directory.
Чтобы удалить исправление совместимости, выполните команду
sdbinst –u c:\ps\regedit.sdb
Включить флаг RUNASINVOKER для программы через реестр
В Windows 10/8.1/7 вы можете включить флаг совместимости RUNASINVOKER через реестр. Флаг совместимости приложения можно выставить для одного пользователя или для всех пользователей компьютера:
Например, для regedit нужно в ветке реестра HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers создать новый строковый параметр (REG_SZ) вида:
Если нужно включить режим совместимости приложения для всех пользователей компьютера, этот параметр нужно создать в ветке реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
Bat файл для запуска приложения в режиме RunAsInvoker
Есть еще вариант для запуск приложения без прав администратора и подавлением запроса UAC (см. статью).
Просто создайте bat файл со следующим кодом:
Set ApplicationPath=»C:\windows\regedit.exe»
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»
При запуске этого bat файла под пользователем, указанное приложение запустится без появления запроса UAC.
Итак, мы рассмотрели, как отключить UAC для конкретной программы без полного отключения контроля учетных записей. Это позволит вам запускать программы Windows под обычным пользователем без появления запроса UAC и без пароля администратора.
Как отключить Контроль учетных записей в Windows 11/10
В каких сценариях срабатывает UAC?
Уровни безопасности UAC
В конфигурации UAC мы сможем найти различные уровни безопасности. Эти уровни позволят нам настроить уровень защиты, который мы хотим для нашей системы Windows 11, Windows 10.
Отключение Контроля учетных записей в Windows
Нажмите сочетание кнопок на клавиатуре Win+R и введите UserAccountControlSettings, чтобы быстро открыть параметры UAC в Windows 11 и Windows 10.
Перетяните ползунок в самый низ «Никогда не уведомлять«, тем самым мы отключим контроль учетных записей.
Скрытые параметры UAC для более точной настройки
Если вы являетесь администратором и пользуетесь редакцией PRO и выше, то можно настроить UAC под свои предпочтения. Нажмите сочетание кнопок Win+R и введите gpedit.msc, чтобы открыть групповые политики. Далее перейдите:
Отключить UAC для конкретного приложения
1. Если нет желания отключать контроль учетных записей для всех программ, то есть метод, который поможет отключить UAC для определенного приложения. Нажмите Win+R и введите control schedtasks, чтобы быстро открыть планировщик заданий.
2. Перейдите во вкладку «Действия» и нужно будет добавить исполняемый exe файл программы, которую мы хотим добавить в исключения контроля учетных записей.
3. Для полного удобства создадим ярлык для запуска программы для которой контроль учетной записей не будет срабатывать.
У вас появится ярлык на рабочем столе, который будет запускаться без уведомления контроля учетных записей. В моем случае, будет запуск командной строки от имени администратора.
Windows 10 контроль учётных записей
Чтобы повысить уровень безопасности от действий программ и других пользователей, в Windows 10 введён контроль учётных записей — User Account Control (UAC).
Эта служба контроля учётных записей выдаёт запрос на разрешение, если какому-то приложению или даже пользователю необходимо изменить параметры компьютера. UAC блокирует работу команд, если у программы или пользователя недостаточно прав.
Как отключить контроль учётных записей UAC в панели управления Windows 10
Наиболее простым способом, как отключить UAC — с помощью панели управления.
Изменение параметров контроля учётных записей UAC в редакторе реестра
Осуществить отключение контроля учётных записей Windows возможно через реестр, вернее через его редактирование. С помощью панели задач необходимо открыть окно выполнения команд.
Деактивация контроль учётных записей UAC в командной строке
Есть ещё вариант, как отключить UAC в Windows 10 — через командную строку с правами администратора.
Как отключить контроль учётных записей UAC в редакторе локальной групповой политики Windows 10
Отключение UAC можно реализовать через службу локальной групповой политики, деактивировав её. Для этого необходимо запустить окно «Создание задачи», как описывалось выше.
Как обойти UAC с помощью планировщика заданий
Чтобы отключить контроль учётных записей UAC в Windows 10 для определённого приложения или программы, можно использовать функцию планировщик заданий. Этот вариант подходит, когда нет возможности отключить блокировку другими вариантами.
Выключение UAC через консоль PowerShell
Есть ещё один простой способ выключить контроль учётных записей пользователя.
Отключение UAC в Windows 10 с помощью сторонних утилит
Для отключения UAC или настройке службы контроля учётных записей удобно использовать специальные утилиты. UAC Tweak при её установке настроит систему Windows 10 по желанию пользователя.
Службу контроля учётных записей можно отключить или откорректировать различным способом. При этом учитывают тот факт, что настройки приоритета для программ неизвестного производителя могут навредить работе Windows и произвести потерю конфиденциальности.
Видеоинструкция отключения контроля учётных записей (UAC)
Как отключить запрос UAC для определенных приложений в Windows 10?
Флаг RunAsInvoker позволяет запускать приложение с маркером, унаследованным от родительского процесса. Это отменяет обработку манифеста приложения и обнаружение процессов установки. Этот параметр не предоставляет привилегий администратора, а только обходит запрос UAC.
В качестве примера мы отключим приглашение контроля учетных записей для редактора реестра ( regedit.exe ). Несмотря на то, что у моей учетной записи есть права локального администратора, при запуске утилиты все еще появляется запрос UAC для подтверждения запуска.
Если программе требуются права администратора, поскольку она изменяет системные параметры или файлы, пользовательские привилегии в приложении не будут повышаться после отключения UAC. Программа по-прежнему будет работать с текущими правами пользователя, и если у вас нет прав для внесения этих изменений, программа не сможет их внести. Существует также небольшое количество приложений, которые запускаются только в режиме «Администратор», игнорируя флаг совместимости RunAsInvoker.
Отключение контроля учетных записей для программы с помощью Application Compatibility Toolkit
В диалоговом окне Информация о сопоставлении вы можете указать, какие параметры приложения следует проверять (версия, контрольная сумма, размер и т. Д.). Я оставил флажки для параметров COMPANY_NAME, PRODUCT_NAME и ORIGINAL_FILENAME, чтобы избежать повторного создания файла исправления совместимости после следующего обновления Windows 10.
Теперь вам нужно только применить пакет исправлений совместимости к нашему приложению. Это можно сделать либо из консоли администратора совместимости (выбрав в меню « Установить» ), либо из командной строки.
Для этого запустите командную строку с повышенными правами и выполните следующую команду:
Если вы все сделали правильно, появится сообщение об успешной установке пакета.
После установки пакета соответствующая запись появится в списке установленных программ Windows (Программы и компоненты).
Попробуйте сейчас запустить приложение в сеансе пользователя без прав локального администратора.Теперь это должно начаться без запроса UAC.
Теперь проверьте привилегии для запуска приложения.Запустите диспетчер задач, перейдите на вкладку «Процесс», добавьте столбец «Повышенные».Убедитесь, что процесс regedit.exe запущен от пользователя в непривилегированном режиме ( Elevated = No ).
В этом процессе редактора реестра пользователь может редактировать только свои собственные ключи и параметры реестра. Но если вы попытаетесь отредактировать / создать что-либо в системном ключе HKLM, появится ошибка: «У вас нет необходимых прав доступа».
Позже это исправление совместимости может быть распространено на все пользовательские компьютеры с помощью групповых политик. Таким образом, вы можете отключить проверки UAC для определенных приложений на нескольких компьютерах в домене Active Directory.
Чтобы удалить исправление совместимости, выполните команду:
sdbinst –u c:\ps\regedit.sdb
Включить флаг приложения RunAsInvoker через реестр
Вы можете включить флаг совместимости RUNASINVOKER в Windows 10 / 8.1 / 7 через реестр. Флаг совместимости приложения может быть установлен для одного или для всех пользователей компьютера.
Например, для программы Regedit приложения вам необходимо создать новый параметр реестра ( REG_SZ ) в следующем разделе реестра HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Слои:
Если вы хотите включить режим совместимости приложений для всех пользователей локального компьютера, вам нужно создать этот параметр в другом разделе реестра:
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers.
Bat ch файл для запуска приложения в режиме RunAsInvoker
Set ApplicationPath=»C:\windows\regedit.exe»
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»
Когда этот bat-файл запускается от имени обычного пользователя, указанное приложение запускается без запроса UAC.
Итак, мы рассмотрели, как отключить UAC для конкретной программы без полного отключения контроля учетных записей. Это позволит вам запускать программы Windows без прав администратора без запроса UAC и без ввода пароля администратора.
Запуск программы без прав администратора и подавлением запроса 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.
Попробуем обойти запрос 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 для текущего процесса и запускает указанную программу:
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 и убедитесь, что программа использует внешний файл манифеста, в котором указано, что нужно запускаться без прав администратора.