Некоторым приложениям для работы в Windows 7 или Windows Vista требуются повышенные права, и запускать их необходимо от имени администратора. При этом выводится запрос "Контроля учетных записей пользователя" (User Account Control или UAC), в котором система просит Вашего согласия на запуск приложения.
Важно! Читайте дополненные и обновлённые версии статей в блоге автора.

Многие пользователи неправильно полагают, что "Контроль учетных записей пользователя" лишь мешает, и отключают его. При этом серьёзно страдает безопасность компьютера, т.к. согласия пользователя на запуск приложений больше не требуется, и любая вредоносная программа может беспрепятственно запускаться и работать. Наличие антивируса также не может на 100% гарантировать безопасность компьютера.
В этой статье я расскажу, как упростить процесс запуска избранных приложений от имени администратора, не отключая 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 можно настроить запуск диалогового окна "Выполнить", и введённые в него команды также будут запущены от имени администратора. Удобство этого подхода заключается в том, что список ранее использованных команд сохраняется, и можно выбрать нужную из списка.

При создании задачи в планировщике, в окне "Создание действия" укажите:
в поле "Программа или сценарий":
rundll32
в поле "Добавить аргументы":
shell32.dll,#61
В справочнике по командам Windows вы найдете множество команд, которые можно запускать из командной строки или окна "Выполнить".
Способ №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!". Оригинальный стиль автора сохранен.