Как запускать программу без Контроля учётных записей?
В одной из предыдущих статей блога мы разбирали тему запуска определённых программ без “назойливого” окна Контроля учётных записей. Там мы разбирали вариант обхода Контроля для конкретной программы с помощью Планировщика заданий. Таким методом пользуются сами программы ещё на этапе собственной установки в Windows (например, программа очистки CCleaner). Что до меня, избавляться от этой “назойливости” отключением UAC полностью как функции я КРАЙНЕ не рекомендую. Несмотря на то, что система открыто позволяет это сделать, а настройки отключения Контроля находятся в, что называется, шаговой доступности, я не всегда порой понимаю, зачем Microsoft вообще позволяет это пользователям делать. Но, так или иначе, вопрос о том, как избежать появления окна для отдельных программ насущен. Так что вернёмся к этой теме и рассмотрим вопрос как запускать программу без окна Контроля учётных записей. В конце статьи маленькая видеоиллюстрация на тему, как всё это дело выглядит вживую.
Про что в статье?
Я позволю себе немного теории, чтобы вы сориентировались в происходящем. Как уже говорилось, мы рассмотрим два метода к решению вопроса. И тот и другой будут основаны на манипуляциях с переменными, позволяющими устанавливать “среды совместимости”. С настройками исполнительных файлов в этой части, думаю, сталкивался каждый. Проверьте контекстное меню любого исполнительного файла на примере установщика популярного архиватора:
В нашей ситуации мы будем использовать возможности корректировать переменные в последней части окна, позволяющие запуск программы от имени администратора и по отношению к пользователям. И для этого можно предложить несколько вариантов развития событий. Все они, как я сказал, крутятся вокруг переменной __COMPAT_LAYER. Есть несколько опций для уточнения настроек, о которых следует помнить. Во вкладке они пере нами, а в качестве флагов для будущих команд они представлены так:
- 256Color – 8-ми разрядный цвет (256)
- 640×480 – Запуск с разрешением 640×480
- DisableThemes – Отключение визуальных эффектов
- Win98 – Запустить программу в режиме совместимости с Windows 98/Windows ME
- Win2000 – Запустить программу в режиме совместимости с Windows 2000
- WINXPSP3 – Запустить программу в режиме совместимости с Windows XP
- VistaSP2 – Запустить программу в режиме совместимости с Windows Vista
- Win7RTM – Запустить программу в режиме совместимости с Windows 7
- Win8RTM – Запустить программу в режиме совместимости с Windows 8
и т.д. С полным списком опций можно ознакомиться здесь. Таким образом, назначение переменной для конкретного случая выглядело бы примерно так:
Установленные настройки будут существовать до тех пор, пока есть сама переменная __COMPAT_LAYER. И переменную можно убить, остановив исполнение консольной команды, где она была прописана. Либо вручную направив “пустую” команду конкретному исполнительному файлу в виде
Такой подход к запуску любого исполнительного файла позволяет использовать один из самых интересных вариантов исключения окна Контроля учётных записей с помощью простого батника. То бишь batch-скрипта. Т.е. скрипт вы запустили, окно UAC не появилось. Но повторный запуск программы вновь заставит окно Контроля появиться как ни в чём не бывало, предотвращая несанкционированный запуск. Таким образом, окно UAC не появляется ИМЕННО тогда, когда это нужно пользователю.
Откуда растут ноги или кусок теории про App-V
Microsoft App-V, она же функция виртуализации приложений – компонент серверных и настольных операционных систем, функция которых разделять и изолировать устанавливаемые извне приложения со стороны от самой ОС-и и остальных программ. Программа “перехватывается” системой и динамически (в режиме онлайн) обрабатывается для показа пользователю. В нашем случае используется одна из главных возможностей функции App-V (но далеко не единственных) – Совместимость приложений различных поколений для одной и той же платформы. И от версии к версии системы менялся подход самой App-V по отношению к устанавливаемым в Windows программам. Так, в Windows XP, не имея административных прав, пользователь с некоторыми программами полноценно вообще работать не мог. А вот со времён появления Vista все приложения обязали использовать файл-манифест, уточняющий запрашиваемый уровень прав. Среди них были:
- asInvoker – запуск с ограниченными правами до момента, пока расширенные права не затребуются отдельной командой или со стороны другого запущенного от имени администратора процесса.
- highestAvailable – административный уровень; нужны права администратора, если пользователь админ; если пользователь не принадлежит к административной группе, доступ к функциям программы и её возможностям будет ограничен.
- requireAdministrator – требует административных прав; программа вообще не запустится, пока ей не предоставятся права.
В общем, учитывая тот факт, что редкая программа использовала “безобидные” функции и никуда по закоулкам системы не лазала, мало что в Windows можно запустить без предоставления ей расширенных прав. Т.е. минуя окно UAC. Частично решить этот вопрос и было призвано добавление переменой к пакету __COMPAT_LAYER=RunAsInvoker . Она заставляла систему отпихивать в сторону запрашиваемый уровень прав в виртуальной среде операндом asInvoker. К слову сказать, примерно такие же возможности достигаются утилитами SigCheck и Process Explorer от Sysyinternals. А с помощью Resource Hacker манифест можно просматривать напрямую. Но не суть.
СРАЗУ
Установка переменной __COMPAT_LAYER (первые символы – двойное подчёркивание) не повышает уровень ваших привилегий до административных. Если у вашей учётной записи таковых не имеется. Она именно не позволяет появиться окну Контроля и разрешает программе запуститься от имени любого пользователя. Таким образом использование перемененной безопасно до тех пор, пока некто не заполучит чудесным образом права Администратора. Так что любая вариация с переменными RunAsHighest (заставит UAC появиться, если права Администратора есть) или RunAsAdmin (инициирует окно Контроля всегда) относительно безопасны.
Как запускать программу без Контроля учётных записей с помощью батника?
Суть метода заключается в следующем. Каждая из запускаемых программ будет проходить процедуру присвоения переменных в режиме совместимости. Назначать вручную мы ничего не станем. Для этого подойдут возможности командной консоли, в среде которой выбранное приложение и запустится. Для этого:
- открываем Блокнот и вводим код:
закроем его, присвоив произвольное имя, но с расширением .bat. Чтобы так сделать, вам придётся заставить Windows отображать скрытые файлы и папки.
Или скачать готовый приготовленный мною батник в архиве по ссылке:
Распакуйте и расположите его на Рабочем столе. Суть работы с ним проста: зацепите ярлык нужного файла .exe и перетащите на распакованный батник . Программа запустится без окна предупреждения со стороны Контроля учётных записей. Способ не всегда срабатывает при обращении к ярлыкам, созданным именно системой (в момент установки программы) из-за витиеватых настроек символьных ссылок. Потому, кому такой способ придется по душе, советую создать ярлык на рабочем столе самостоятельно с указанием на Расположение объекта. Либо воспользоваться другими способами.
Как запускать программу без Контроля учётных записей с ярлыка?
Команду выше можно применять для конкретной программы, скорректировав путь в ярлыке к ней. Для этого в поле адреса ярлыка добавим слева
cmd.exe /c SET __COMPAT_LAYER=RunAsInvoker & START “”
Т.е. вместо, допустим
По необходимости смените значок ярлыка, поискав подходящий в папке с этой программой.
Вариант три: настройки реестра
С той же целью вы можете прописать в контекстном меню исполнительных файлов особый пункт. Назовём его, скажем, Запуск без окна UAC.
Для этого в текстовом редакторе типа NotePad++ (Window-возный Блокнот не подойдёт для русской локали) пропишите вот этот код:
Сохраните файл с расширением .reg. Если соберётесь прописать контекстный пункт вручную с помощью:
- NotePad++ и ему подобного на русском, укажите кодировку Windows-1251
- Блокнота, задайте в поле команды @=”Запуск без окна UAC” вместо указанного имя типа “No_UAC”, чтобы контекстное меню выглядело без кракозябров:
Если от пункта устанете или ошибётесь на первых порах в названии, удалите параметр из cmd от имени администратора:
Как всегда, можете скачать готовый вариант reg-файла с К76 в архиве:
Как отключить контроль учётных записей пользователей (UAC) — простой способ для Windows 7, 8 и 10
Как отключить UAC
Если вы какое-то время пользуетесь Windows, вы, вероятно, помните, как раздражал контроль учётных записей пользователей (UAC). Он впервые появился в Windows Vista. Его можно отключить в любой операционной системе, в том числе Windows 7, 8 и 10. Вот как это сделать.
Однако сначала одно предупреждение. На самом деле мы рекомендуем не отключать UAC. В итоге вы получите менее безопасный компьютер (и мы написали отличное руководство, объясняющее именно это — вы найдёте его ниже, после инструкции об отключении). Если вы всегда отключаете UAC при новой установке Windows, вы можете попробовать ещё раз. UAC в Windows 8 и 10 стал намного более рациональным и менее раздражающим, чем раньше. Тем не менее, мы здесь не для того, чтобы указывать вам, что делать.
В Windows 7, 8 или 10 нажмите «Пуск» или сразу в общесистемный поиск введите «изменение параметров контроля учетных записей» в поле поиска и нажмите результат «Изменить настройки контроля учетных записей». В Windows 8 вы будете использовать начальный экран (вместо меню «Пуск»), и вам придётся изменить поиск на «настройки», но он по-прежнему работает в основном так же.

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

Также обратите внимание, что вам не нужно полностью выключать UAC. Вот настройки, которые вы можете применить с помощью ползунка:
- Всегда уведомлять: Windows просит вас проверять через UAC всякий раз, когда приложение пытается установить программное обеспечение или внести изменения в ваш компьютер. Он также запрашивает подтверждение, когда вы вносите изменения в настройки Windows.
- Уведомлять только о приложениях: две средние настройки на ползунке работают аналогично, оба уведомляют вас только тогда, когда приложения пытаются внести изменения, но не когда вы меняете настройки Windows. Разница между этими двумя настройками заключается в том, что первый затемняет экран во время уведомления, а второй — нет. Вторая настройка предназначена для людей с компьютерами, которые (по какой-либо причине) долго затемняют экран.
- Никогда не уведомлять: UAC не уведомляет вас об изменениях, которые вы вносите или вносите в приложения. Этот параметр по существу отключает UAC.
Как мы уже говорили, мы настоятельно рекомендуем вам не отключать UAC. Это то, что делает безопасным использование учётной записи администратора в качестве повседневной учётной записи пользователя. Но если вы настроены выключить его, по крайней мере, теперь вы знаете, насколько это просто.
Почему не следует отключать контроль учётных записей (UAC) в Windows
Контроль учётных записей пользователей — важная функция безопасности в последних версиях Windows. Ранее мы объясняли, как отключить UAC, но отключать его не следует — он помогает защитить ваш компьютер.
Если вы инстинктивно отключаете UAC при настройке компьютера, вам следует попробовать ещё раз — UAC и экосистема программного обеспечения Windows прошли долгий путь с момента появления UAC в Windows Vista.
Администратор и стандартные учётные записи пользователей
Исторически сложилось так, что пользователи Windows использовали учётные записи администратора для повседневной работы с компьютером. Конечно, в Windows XP вы могли создать стандартную учётную запись пользователя с меньшими разрешениями для повседневного использования, но почти никто этого не сделал. Хотя использование стандартной учётной записи пользователя было возможно, многие приложения не могли работать должным образом в ней. Приложения Windows обычно предполагали, что у них есть права администратора.
Это было плохо — запускать все приложения на компьютере от имени администратора — не лучший вариант. Вредоносные приложения могут изменять важные системные настройки за вашей спиной. Бреши в безопасности приложений (даже приложений, встроенных в Windows, таких как Internet Explorer) могут позволить вредоносным программам захватить весь компьютер.
Использование стандартной учётной записи пользователя также было более сложным — вместо одной учётной записи пользователя у вас было бы две учётные записи пользователей. Чтобы запустить приложение с максимальными правами (например, для установки новой программы в вашей системе), вам нужно будет щёлкнуть правой кнопкой мыши его EXE-файл и выбрать «Запуск от имени администратора». После того, как вы нажмёте это, вам нужно будет ввести пароль учётной записи администратора — это будет полностью отдельный пароль от вашей основной, стандартной учётной записи пользователя.
Что делает контроль учётных записей пользователей
Контроль учётных записей пользователей помогает решить проблемы архитектуры безопасности прошлых версий Windows. Пользователи могут использовать учётные записи администратора для повседневных вычислений, но все приложения, запущенные под учётной записью администратора, не запускаются с полным доступом администратора. Например, при использовании UAC Internet Explorer и другие веб-браузеры не запускаются с правами администратора — это помогает защитить вас от уязвимостей в вашем браузере и других приложениях.
Единственная цена, которую вы платите за использование UAC, — это то, что время от времени вы видите окно, в котором вам нужно нажимать Да (или нажимать Нет, если вы не ожидали запроса). Это проще, в отличие от использования стандартной учётной записи пользователя — вам не нужно вручную запускать приложения от имени администратора, они просто будут отображать приглашение UAC, когда им потребуется доступ администратора. Вам также не нужно вводить пароль — просто нажмите кнопку. Диалоговое окно UAC отображается на специальном безопасном рабочем столе, к которому программы не могут получить доступ, поэтому при появлении запроса UAC экран становится серым.
UAC делает использование менее привилегированной учётной записи более удобным
У UAC также есть некоторые хитрости, о которых вы, возможно, не подозреваете. Например, некоторые приложения никогда не могли запускаться под обычными учётными записями пользователей, потому что они хотели записывать файлы в папку Program Files, которая является защищённым местом. UAC обнаруживает это и предоставляет виртуализированную папку — когда приложение хочет записать в свою папку Program Files, оно фактически записывает в специальную папку VirtualStore. UAC обманом заставляет приложение думать, что оно пишет в Program Files, позволяя ему работать без прав администратора.
Другие настройки, сделанные при введении UAC, также делают более удобным использование компьютера без прав администратора — например, стандартные учётные записи пользователей могут изменять параметры питания, изменять часовой пояс и выполнять некоторые другие системные задачи без предупреждений UAC. Ранее эти изменения могли вносить только учётные записи администраторов.
UAC не так раздражает, как кажется
Несмотря на все это, многие люди теперь отключают UAC как рефлекс, не задумываясь о последствиях. Однако, если вы попробовали UAC, когда Windows Vista была новой, а приложения к ней не были подготовлены, вы обнаружите, что использовать его сегодня гораздо меньше треплет нервы.
В Windows 10 UAC более отполирован — Windows 7 имеет более совершенную систему UAC с меньшим количеством запросов UAC, чем в Windows Vista.
Приложения стали более совместимыми — разработчики приложений больше не предполагают, что их приложения имеют полные права администратора. Вы не увидите так много запросов UAC при повседневном использовании. (Фактически, вы можете не видеть никаких запросов UAC при повседневном использовании компьютера, если вы используете хорошо разработанное программное обеспечение — только при установке новых приложений и изменении системных настроек).
UAC больше всего раздражает при настройке компьютера. Когда вы устанавливаете Windows или покупаете новый компьютер, UAC кажется хуже, чем есть на самом деле. Когда вы устанавливаете все свои любимые приложения и настраиваете параметры Windows, вы обязательно увидите приглашение UAC после запроса UAC. У вас может возникнуть соблазн отключить UAC на этом этапе, но не волнуйтесь — UAC не будет предлагать вам столько же, когда вы закончите настройку своего компьютера.
Если вы используете приложение, которое показывает подсказку UAC каждый раз при запуске, есть способы обойти подсказку UAC — это лучше, чем полностью отключить UAC.

