Как отключить UAC для определенной программы

Контроль учетных записей (User Account Control или UAC), впервые появившийся еще в Windows Vista – отличное решение в области обеспечения безопасности ОС семейства Windows, позволяющее защитить компьютер от различных угроз, таких как: вирусы, трояны, черви, руткиты и т.п. При включенном UAC система запрашивает подтверждение на выполнение любого действий, требующего прав администратора.

Некоторых пользователей появление окошек контроля учетных записей раздражает, и они предпочитают полностью отключить UAC в системе, хотя Microsoft и специалисты в области ИБ этого делать категорически не рекомендуют.

Сегодня мы покажем, как выборочно отключить UAC для определенного приложения, не отключая полностью эту службу. Для этого нам понадобится пакет Microsoft Application Compatibility Toolkit 5.6, скачать который можно по этой ссылке: http://www.microsoft.com/en-us/download/details.aspx?id=7352.

Примечание. Пакет Microsoft Application Compatibility Toolkit – бесплатный набор утилит, предназначенный для устранения проблем совместимости приложений при переходе на новые версии Windows. Одна из возможностей этого большого пакета – возможность повышать привилегии определенного приложения, обходя систему контроля  UAC.

Установка Application Compatibility Toolkit  тривиальна, так что не будет останавливаться на ее описании.

После установки ApplicationCompatibilityToolkitSetup.exe (12,2 Мб) – в системе появится две (32-х и 64-х битная) версии  утилиты. Если необходимо отключить UAC для 32-битного приложения, нужно воспользоваться 32-битной версией Application Compatibility Toolkit (и наоборот).

В качестве примера мы настроим запуск редактора реестра (regedit.exe) без появления запроса User Account Control. окно uac при запуске приложений требующего административные права (regedit)

Запустим с правами администратора (!) утилиту Compatibility Administrator (32-bit). В разделе Custom Databases, щелкните ПКМ по элементу New Database и выберите пункт Create New-> Application Fix.

Окно Compatibility Administrator (32-bit).

В открывшемся окне нужно указать имя приложения (regedit), производителя (Microsoft) и путь к исполняемому файлу (C:\Windows\System32\regedit.exe).

выбираем программу, для которой нужно отключить UAC (например, regedit)

Следующее окно мастера  настройки (Compatibility Mode) пропускаем, нажав Next. В окне Compatibility Fixes отметим опцию RunAsInvoker.

Примечание. Параметр RunAsInvoker позволяет запускать приложения с правами, с которыми запущен родительский процесс (в данном случае это будет утилита Compatibility Administrator, которую мы запустили в режиме Run As Administrator).

При желании можно убедиться, что приложение может работать без UAC, нажав на кнопку тестового запуска (Test Run).   Параметр RunAsInvoker - запуск программы с правамии родителя (с отключенным UAC)

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

Совет. Т.к. мы несколько снизили безопасность системы, разрешив приложению запускаться с повышенными правами без прохождения контроля UAC, мы оставили потенциальную «дыру» в системе. Чтобы защититься от подмены исполняемого файла злоумышленником, можно при запуске файла требовать выполнения дополнительных проверок (например, проверку контрольной суммы CHECKSUM, версии FILE_VERSION и т.п.). Отметим, однако, что дополнительные проверки будут несколько замедлять запуск приложения.Включаем проверку контрольной суммы для regedit32 - CHECKSUM

Осталось применить пакет с исправлением совместимости к нашему приложению. Сделать это можно непосредственно из консоли Compatibility Administrator (выбрав в меню пункт Install), либо из командной строки. Для этого откройте командную строку с правами администратора и выполните команду:

sdbinst -q c:\tools\regedit.sdb

Установка пакета совместимости sdb

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

Installation of regedit complete.
sdbins -q sdb

После установки пакета, соответствующая запись появится в списке установленных программ Windows (Programs and Features).Новое приложение с отключенным UAC отображается в Program and features

Попробуйте теперь запустить приложение в обычном режиме. Теперь оно должно запуститься без запроса UAC.

В дальнейшем это исправление совместимости можно распространить на ПК организации с помощью групповых политик. Тем самым можно добиться отключения проверки  системы контроля учетных записей (UAC) для определенных приложений в рамках всего домена Active Directory.

Чтобы удалить исправление совместимости, выполните команду

sdbinst –u c:\tools\regedit.sdb

Предыдущая статья Следующая статья


Комментариев: 23 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)