При запуске программ, требующих прав администратора на компьютере или нахождении таких программ в автозагрузке появляется запрос контроля учётных записей, где пользователю с правами администратора требуется нажать «Да», без них — ввести пароль учетной записи с наличием соответствующих прав.
Это не всем удобно, а также существуют ситуации, в котором нажатие затруднено, например, компьютер включается и работает удаленно. Некоторые пользователи отключают UAC Windows полностью, что не вполне безопасно и не может быть рекомендацией. В некоторых случаях может пригодиться другая возможно — отключение запроса контроля учётных записей только для конкретного приложения. О способах сделать это и пойдёт речь далее в инструкции.
Планировщик заданий
Наиболее простой и эффективный способ запуска программы, требующей прав администратора без запроса контроля учетных записей, работающий во всех актуальных версиях Windows и — использование планировщика заданий. Именно его я рекомендую использовать.
При этом подход позволяет выполнять не только автоматический запуск программы без UAC, например, при входе в систему, но и запуск вручную, например, с ярлыка.
Достаточно выполнить следующие шаги (для их выполнения права администратора потребуются):
- Запустите Планировщик заданий: Win+R — taskschd.msc или используйте поиск в панели задач.
- Выберите пункт «Создать задачу» в панели справа или в контекстном меню в библиотеке планировщика.
- Укажите желаемое имя задачи и обязательно отметьте пункт «Выполнить с наивысшими правами».
- Создайте новый триггер на соответствующей вкладке. Например — «При запуске» для ручного запуска программы без запроса контроля учетных записей или «При входе в систему» для её автозагрузки без появления окна UAC.
- Создайте действие — «Запуск программы» и укажите путь к нужному исполняемому файлу.
- На вкладке «Условия» можно отключить опцию «Запускать только при питании от электросети», если требуется запуск на ноутбуке, в том числе и при питании от батареи.
- Сохраните задание.
Если в качестве триггера вы установили «При входе в систему» (или, например, «По расписанию»), программа в соответствующий момент будет запускаться без запроса прав автоматически.
Если же была выбрана опция «При запуске», и вы хотите вручную запускать программу, достаточно будет создать ярлык или иным образом (например, в окне Win+R) выполнить команду:
C:WindowsSystem32schtasks.exe /run /tn «Имя_задания»
Соответствующий ярлык или команда запустит программу с правами администратора, но без появления запроса учетных записей.
RunAsInvoker
Windows позволяет запустить программы, в манифесте которых прописано требование прав администратора от имени пользователя с помощью флагов совместимости, в частности — RunAsInvoker. Результат действия:
- Программа будет запущена без запроса UAC.
- Доступ к функциям, для которых действительно требуются права администратора (например, запись в реестр или системные папки) будет отсутствовать. Но иногда это не мешает её работе: некоторым программам доступ к правам администратора требуется лишь для отдельных функций или при первоначальной настройке.
Способы реализации:
- В редакторе реестра перейти к разделуHKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayersи создать строковый параметр с именем, которое будет представлять собой полный путь к EXE программы и значением RUNASINVOKER
- Использовать командуreg add «HKCUSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers» /v «путь_к_программе.exe» /t REG_SZ /d «RUNASINVOKER» /fв командной строке, запущенной от имени администратора.
Эти действия сделают так, что программа по умолчанию всегда будет запускаться без запроса Контроля учетных записей и прав администратора, кроме случаев, когда запуск от имени администратора был выполнен принудительно.
Ещё один вариант, без внесения чего-либо в реестр — создать ярлык и использовать следующую запись в поле «Объект»:
cmd /C «set __COMPAT_LAYER=RunAsInvoker && start «» «путь_к_файлу.exe»»
Этот ярлык также запустит программу без запроса UAC, но и без возможности выполнять действия, требующие прав администратора.
Запуск от имени системной учетной записи «Администратор»
Я не могу рекомендовать этот способ, поскольку он потенциально небезопасен, но он также позволяет выполнить запуск программы от имени Администратора без запроса Контроля учетных записей:
- Включите системную учетную запись «Администратор», например, с помощью командыnet user Администратор /active:yesПодробнее на тему — в отдельной инструкции.
- Установите пароль (замените слово пароль в команде на нужный вам пароль и не забудьте его) для этой учетной записи с помощью командыnet user Администратор пароль
- Введите командуrunas /profile /user:Администратор /savecred «путь_к_программе.exe»
- При выполнении команды в первый раз будет запрошен пароль, но в дальнейшем, её же выполнение требовать пароля уже не будет (только если вы не решите запустить другую программу).
Эту же команду можно прописать как «Объект» в ярлыке для запуска программы без запроса UAC с него.
Сторонние программы
Существуют сторонние инструменты, позволяющие реализовать запуск программы с правами администратора без показа окна контроля учетных записей. Одна из них, старая, но исправно работающая и в Windows 11 — UAC Trust Shortcut (придётся найти на сторонних сайтах, официальный не работает, обязательно проверьте на VirusTotal).
После установки программы (также потребуется .NET Framework 3.5, будет загружен автоматически при отсутствии) достаточно указать программу и имя ярлыка, нажать по ссылке «Add now» и ярлык для запуска программы появится на рабочем столе.
В свойствах ярлыка можно увидеть, что запуск производится с помощью инструмента ucmd.exe — его можно использовать и вручную, не прибегая к графическому интерфейсу программы. Но потребуется разрешить работу программы в качестве службы, что будет предложено после первой перезагрузки.