Некоторым приложениям для работы в Windows требуются повышенные права, и запускать их необходимо от имени администратора. При этом выводится запрос "Контроля учетных записей пользователя" (User Account Control или UAC), в котором система просит Вашего согласия на запуск приложения.
Многие пользователи неправильно полагают, что "Контроль учетных записей пользователя" лишь мешает, и отключают его. При этом серьёзно страдает безопасность компьютера, т.к. согласия пользователя на запуск приложений больше не требуется, и любая вредоносная программа может беспрепятственно запускаться и работать. Наличие антивируса также не может на 100% гарантировать безопасность компьютера.
В этой статье я расскажу, как упростить процесс запуска избранных приложений от имени администратора, не отключая UAC (полностью или частично) и без вреда для безопасности.
Для запуска приложения от имени администратора можно воспользоваться несколькими способами:
- Способ №1 - запуск через правую клавишу мыши (запрос UAC отображается)
- Способ №2 - запуск с использованием "Ctrl+Shift+Enter" (запрос UAC отображается)
- Способ №3 - устанавливаем запуск от имени администратора в свойствах ярлыка (запрос UAC отображается)
- Способ №4 - упрощаем запуск для избранных приложений при помощи планировщика заданий (запрос UAC не отображается)
- Способ №5 - запуск из командной строки (запрос UAC отображается)
- Запуск программ пользователем от имени администратора без ввода пароля администратора
В качестве примера будем запускать командную строку (cmd) от имени администратора.
Способ №1 (обычный) - запуск через правую клавишу мыши (запрос UAC отображается)
Нажмите правой клавишей мыши по значку нужного приложения и выберите пункт "Запуск от имени администратора":
Способ №2 - запуск с использованием "Ctrl+Shift+Enter" (запрос UAC отображается)
Нажмите Пуск, в строке поиска наберите нужную команду и нажмите Ctrl+Shift+Enter.
Способ №3 - устанавливаем запуск от имени администратора в свойствах ярлыка (запрос UAC отображается)
Щелкните правой клавишей мыши по нужному ярлыку и выберите пункт "Свойства".
Перейдите на вкладку "Ярлык", нажмите "Дополнительно", установите флажок "Запускать от имени администратора":
Или перейдите на вкладку "Совместимость" и установите флажок "Выполнять эту программу от имени администратора":
Далее запуск от имени администратора осуществляется двойным щелчком по ярлыку.
Способ №4 - упрощаем запуск для избранных приложений при помощи планировщика заданий (запрос UAC не отображается)
Важно! Этот способ работает только для учетных записей, входящих в группу Администраторы. У обычных пользователей он не сработает, потому что их потолком являются ограниченные права.
Переходим к самому интересному способу. Если есть приложение, которое Вы постоянно запускаете, и оно получено от надёжного производителя ПО, например, это приложение Windows - можно упростить запуск. Создание ярлыка для нужной программы не занимает более 2-х минут и это позволит избавиться от лишних действий в дальнейшем. Запускаем планировщик заданий (Пуск ---> Все программы ---> Стандартные ---> Служебные ---> Планировщик заданий) и нажимаем "Создать задачу":
Указываем Имя для новой задачи и ставим флажок "Выполнять с наивысшими правами":
Переходим на вкладку Действия, нажимаем "Создать", в следующем окне нажимаем "Обзор":
Указываем путь к нужному приложению и нажимаем "Открыть":
Нажимаем "ОК":
И ещё раз "ОК":
Закрываем планировщик и переходим к созданию ярлыка.
Чтобы создать ярлык на рабочем столе, щёлкаем правой клавишей мыши, выбираем "Создать" ---> "Ярлык":
В поле Расположение объекта вводим:
schtasks /run /tn cmd_admin
где cmd_admin - имя созданной нами задачи. Если имя содержит пробелы, его необходимо указывать в кавычках.
Задаём название ярлыка:
Ярлык создан и готов к использованию.
Чтобы сменить значок - нажмите правой клавишей мыши по ярлыку, выберите "Свойства":
Перейдите на вкладку "Ярлык" и нажмите "Сменить значок":
"Обзор..."
Указываем путь к программе:
Выбираем нужный значок и закрываем оба окна кнопкой "ОК":
Теперь запуск нужного приложения от имени администратора выполняется двойным щелчком по созданному ярлыку, при этом запрос UAC не отображается и безопасность остаётся в сохранности.
Утилита для автоматизации "Способа №4"
В случае, если требуется создать ярлыки для большого количества программ, удобно воспользоваться утилитой Elevated Shortcut.
Работа с утилитой сводится к двум простым шагам:
- Установка
- Перетаскивание исполняемого файла (*.exe, *.bat, *.cmd) на ярлык утилиты:
Выражаю благодарность автору программы - hb860.
Автоперевод фокуса на запущенную программу
Специфика запуска приложений из планировщика состоит в том, что фокус на окно не переводится и, например чтобы набрать команду в командной строке приходится дополнительно щёлкать по окну. Такое поведение может помочь в автоматизации рутинных операций по расписанию, но для "Способа №4" это не всегда удобно.
Для "обхода" существует несколько методов. Работают они немного по-разному, так что выбирайте наиболее подходящий. Первый более удобен для запуска программ, а второй для запуска скриптов.
Добавляем при создании задачи:
Использование команды start
Программа или сценарий:
cmd.exe
Аргументы:
/c start /d "путь_к_программе" имя_файла.exe
Пример:
/c start /d "C:\Windows\System32\" cmd.exe
Использование утилиты NirCmd
Программа или сценарий:
путь_к_nircmd\nircmd.exe
Аргументы:
exec show "путь_к_программе\имя_файла.exe"
Пример:
exec show "C:\Windows\System32\cmd.exe"
Запуск диалога "Выполнить" от имени администратора
По аналогии с запуском командной строки способом №4 можно настроить запуск диалогового окна "Выполнить", и введённые в него команды также будут запущены от имени администратора. Удобство этого подхода заключается в том, что список ранее использованных команд сохраняется, и можно выбрать нужную из списка.
При создании задачи в планировщике, в окне "Создание действия" укажите (для 64-разрядной ОС):
в поле "Программа или сценарий":
%WINDIR%\SysWOW64\rundll32.exe
в поле "Добавить аргументы":
shell32.dll,#61
В справочнике по командам Windows вы найдете множество команд, которые можно запускать из командной строки или окна "Выполнить".
Быстрое создание задания в планировщике из командной строки
Все вышеперечисленное делается за 30 секунд. В качестве примера используется задание, запускающие окно "Выполнить". В командной строке, запущенной с правами администратора, выполните:
Schtasks.exe /Create /RL Highest /TN Run /SC ONCE /ST 14:00 /TR "cmd.exe /c start %WINDIR%\SysWOW64\rundll32.exe shell32.dll,#61"
Теперь остается создать ярлык, прописав в нем команду:
schtasks /run /tn Run
Все!
Способ №5 - запуск из командной строки (запрос UAC отображается)
Реализовать запуск от имени администратора из командной строки можно несколькими способами:
- Запустить командную строку от имени администратора, введённые в неё команды также будут запущены от имени администратора.
- Поставить в свойствах запускаемого приложения флажок - см. "Способ №3".
- Воспользоваться сторонней утилитой.
С первыми двумя вариантами всё понятно, займёмся последним.
Существует несколько нужных нам утилит: Elevate от Johannes Passing (рассмотрим на её примере), PowerToys от Michael Murgolo и т.д.
Скачиваем утилиту, распаковываем. Запускаем командную строку, вводим нужную команду, синтаксис совсем нехитрый:
<путь к утилите> <путь к нужному приложению>
Пример:
Выведется запрос UAC и приложение запустится от имени администратора.
Примечание: В контекстном меню Windows 7 есть очень удобная функция копирования пути файла: зажмите Shift, щёлкните правой клавишей мыши по файлу, выберите пункт "Копировать как путь".
Запуск программ пользователем от имени администратора без ввода пароля администратора
Важно! Этот способ небезопасен, так как позволяе пользователю с ограниченными правами запускать код с полными правами. Хитрый пользователь или вредоносное ПО могут этим воспользоваться и скомпрометировать систему.
Рассмотрим ещё одну интересную задачу: Ваша учётная запись Windows входит в группу администраторов, есть ещё одна или несколько учётных записей, входящих в группу пользователей. Пользователю необходимо запускать программу, требующую повышения прав. Обычно это выглядит так: пользователь нажимает правой клавишей мыши по файлу и выбирает "Запуск от имени Администратора", при этом выводится запрос на ввод пароля администратора:
Разумеется, раздать пользователям пароль администратора - не самая хорошая идея. Чтобы это "обойти" будем использовать утилиту AdmiLink Алексея Курякина. С её помощью администратор может создать для пользователя ярлык на запуск необходимой программы, при этом ввод пароля администратора требуется всего 1 раз - при создании ярлыка. Во время запуска программы пользователем пароль будет передаваться в зашифрованном виде.
- Скачиваем, устанавливаем от имени администратора.
- Заходим в систему под пользователем, запускаем AdmiLink. Указываем путь к программе и, при необходимости, параметры командной строки.
Увеличить рисунок - Переходим на вкладку "Account", указываем Имя учётной записи и пароль администратора. Нажимаем кнопку "Сгенерировать ключ запуска AdmiRun".
Увеличить рисунок - Переходим на вкладку "LNK", нажимаем "Сгенерировать командную строку", затем "Создать Ярлык сейчас".
Увеличить рисунок - Пользуемся.
Этот способ будет работать, если запуск программы возможен только от имени администратора и разработчик не забыл указать это условие в манифесте. Однако ещё остаётся большое количество старых программ или программ, запуск которых возможен как в обычном режиме, так и от имени администратора (при этом будет доступен разный набор функций). При попытке запуска такой программы с помощью AdmiLink - она запускается в обычном режиме (без административных привилегий). А если попытаться проставить флажок "Способом №3" - получаем ошибку:
Но нерешаемых проблем нет, я попробовал совместить запуск AdmiLink-ом и "Способ №5":
- попытка завершилась успешно:
Пользователю выводится стандартный запрос UAC, но ввод пароля администратора не требуется.
Приятного использования!
Дополнительные сведения:
Контроль учетных записей в Windows 7 и Windows Server 2008 R2
Принцип работы "Контроля учетных записей пользователей" в Windows 7
Статья опубликована в рамках конкурса "Наш выбор - Windows 7!". Оригинальный стиль автора сохранен.