Appcompatflags layers windows 10

Как отключить 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), либо из командной строки.

sdbinst -q c:\ps\regedit.sdb

Если все сделали правильно, появится сообщение об успешном применении пакета.

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

  • Value name: C:\windows\regedit.exe
  • Value data: RunAsInvoker

Если нужно включить режим совместимости приложения для всех пользователей компьютера, этот параметр нужно создать в ветке реестра: 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 и без пароля администратора.

Как отключить запрос UAC для определенных приложений в Windows 10?

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

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

В качестве примера мы отключим приглашение контроля учетных записей для редактора реестра ( regedit.exe ). Несмотря на то, что у моей учетной записи есть права локального администратора, при запуске утилиты все еще появляется запрос UAC для подтверждения запуска.

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

Отключение контроля учетных записей для программы с помощью Application Compatibility Toolkit

Нам нужно установить Application Compatibility Toolkit, который является частью Windows ADK. Загрузите последнюю версию Windows ADK для Windows 10 .

Читайте также:  Как отключить защиту компьютера windows

Запустите файл adksetup.exe и во время установки (программе необходим доступ к Интернету) выберите только пункт « Инструменты совместимости приложений» .

Пропустите следующее окно (режим совместимости) мастера настройки, нажав Далее . В окне исправлений совместимости установите флажок RunAsInvoker .

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

В диалоговом окне Информация о сопоставлении вы можете указать, какие параметры приложения следует проверять (версия, контрольная сумма, размер и т. Д.). Я оставил флажки для параметров COMPANY_NAME, PRODUCT_NAME и ORIGINAL_FILENAME, чтобы избежать повторного создания файла исправления совместимости после следующего обновления Windows 10.

Нажмите Finish и укажите имя файла, в который должен быть сохранен пакет исправлений совместимости, например, regedit.sdb . Этот файл будет содержать инструкции по запуску приложения с указанными параметрами совместимости.

Теперь вам нужно только применить пакет исправлений совместимости к нашему приложению. Это можно сделать либо из консоли администратора совместимости (выбрав в меню « Установить» ), либо из командной строки.

Для этого запустите командную строку с повышенными правами и выполните следующую команду:

sdbinst -q c:\ps\regedit.sdb

Если вы все сделали правильно, появится сообщение об успешной установке пакета.

После установки пакета соответствующая запись появится в списке установленных программ 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 \ Слои:

  • Имя значения: C: \ windows \ regedit.exe
  • Значение данных: RunAsInvoker

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

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers.

В домене вы можете импортировать / развертывать эти параметры реестра для пользователей через объект групповой политики .

Bat ch файл для запуска приложения в режиме RunAsInvoker

Существует еще один способ запуска программы без прав администратора и обход приглашения UAC .

Просто создайте файл .bat со следующим кодом:

Set ApplicationPath=»C:\windows\regedit.exe»
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»

Читайте также:  Install synaptic kali linux

Когда этот bat-файл запускается от имени обычного пользователя, указанное приложение запускается без запроса UAC.

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

Appcompatflags layers windows 10

Question

Answers

В этом окошке еще должна быть опция «Изменить уведомления»

Изменения на жестком диске — это максимальный уровень. Проверьте уровень безопасности при запуске приложений.

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

Как раз для подпиливания стороннего софта под свои нужды.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Program Files\\MyProgramFolder\\Myprogram.exe»=»RUNASINVOKER»

All replies

gpedit.msc
User Configuration>Administrative Templates>Windows Component>Attachment Manager>Inclusion list for moderate risk file types

Поможем друг другу стать лучше! Отметим правильные ответы и полезные сообщения!

В Свойства — Настройки совместимости — установите что «Запускать прогамму от имени администратора» (Run program as an Administator)

Это стопроцентно известно, что требуются права администратора? Какая связь с издателем?

MCITP: Enterprise Administrator; MCT; Microsoft Security Trusted Advisor; CCNA

В этом окошке еще должна быть опция «Изменить уведомления»

Изменения на жестком диске — это максимальный уровень. Проверьте уровень безопасности при запуске приложений.

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

Как раз для подпиливания стороннего софта под свои нужды.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Program Files\\MyProgramFolder\\Myprogram.exe»=»RUNASINVOKER»

В этом окошке еще должна быть опция «Изменить уведомления»

Изменения на жестком диске — это максимальный уровень. Проверьте уровень безопасности при запуске приложений.

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

Как раз для подпиливания стороннего софта под свои нужды.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Program Files\\MyProgramFolder\\Myprogram.exe»=»RUNASINVOKER»

Ссылка не работает

В этом окошке еще должна быть опция «Изменить уведомления»

Изменения на жестком диске — это максимальный уровень. Проверьте уровень безопасности при запуске приложений.

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

Как раз для подпиливания стороннего софта под свои нужды.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Program Files\\MyProgramFolder\\Myprogram.exe»=»RUNASINVOKER»

Спасибо за советы, буду разбираться

В этом окошке еще должна быть опция «Изменить уведомления»

Изменения на жестком диске — это максимальный уровень. Проверьте уровень безопасности при запуске приложений.

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

Как раз для подпиливания стороннего софта под свои нужды.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Program Files\\MyProgramFolder\\Myprogram.exe»=»RUNASINVOKER»

Спасибо за советы, буду разбираться

как правильно в реестре прописать этот параметр?

Данной теме более семи лет, тема не актуальна.

Если у вас вопрос, создайте новую тему.

Не нужно некропостить

Я не волшебник, я только учусь MCP CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку «Пометить как ответ» или проголосовать «полезное сообщение». Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера, Twitter, YouTube, GitHub.

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