Как запустить программы, игры или утилиты от имени администратора — выкладываем суть

image

Может возникнуть ситуация, когда необходимо запустить какую-нибудь программу от имени другой учетной записи существующей в компьютере. Причин этого может быть множество, например программа требует для работы прав администратора компьютера или любые другие, главное научиться запускать программы от имени другого пользователя компьютера.

Способов добиться этого существует множество, давайте рассмотрим некоторые штатные возможности операционной системы Windows. Проще всего, если требуется запустить программу от имени администратора, достаточно щелкнуть по запускаемому файлу или ярлыку правой кнопкой мыши и выбрать пункт «Запуск от имени администратора». Ввести пароль и нажать кнопку «OK», программа запуститься от имени администратора.

Чтобы запустить программу от имени другого пользователя системы, нужно с нажатой клавишей Shift на клавиатуре щелкнуть правой кнопкой мыши на нужном файле и выбрать в контекстном меню пункт «Запуск от имени другого пользователя», ввести его логин и пароль.

Есть правда пара особенностей, чтобы запустить программу от имени другой учетной записи, она должна иметь пароль. Учетная записи пользователя имеет имя и может быть указано еще полное имя, работать будет только при указании имени.

Бывает, программа запускается только от имени администратора, а вы пользуетесь обычной учетной записью, тогда можно сократить запуск программы на одно действие, достаточно зайти в свойства ярлыка и на вкладке «Совместимость» отметить галочку «Выполнять эту программу от имени администратора». Теперь двойной клик левой кнопкой мыши по этому ярлыку сразу будет требовать ввода пароля администратора.

image

Команда Runas для запуска программ от имени другого пользователя

Для часто запускаемых программ от имени другого пользователя, неудобно каждый раз нажимать Shift и щелкать правой кнопкой мыши, проще воспользоваться специальной встроенной командой Runas. Для этого создадим ярлык, который будет запускать нужную программу от имени другого пользователя компьютера. Как создать ярлык можно прочитать здесь. В поле «Объект» напишем следующую команду:

runas /user:пользователь программа

где,

пользователь — учетная запись, от имени которой требуется запустить программу, записывается в виде имя_учетной_записи@имя_компьютера или имя_компьютераимя_учетной_записи, хотя просто имя_учетной_записи тоже работает.

программа — имя исполняемого файла, который мы хотим запустить. Если исполняемый файл находится не в системных переменных окружения, необходимо указывать полный путь до него.

runas /user:Андрей notepad.exe

В случае если имя пользователя или путь программы содержат пробелы, нужно взять их в двойные кавычки по отдельности.

runas /user:"Дмитрий Петров" "C:Program Files (x86)VideoLANVLCvlc.exe"

Сохраняем ярлык, теперь при его запуске будет появляться черное окно с просьбой ввести пароль. Внимание, при вводе пароля ничего не происходит, просто вводите его и нажимаете клавишу Enter.

Все хорошо работает, но вводить постоянно пароль быстро надоедает. На этот случай, команда Runas имеет специальный ключ /savecred. В случае его использования, пароль вводится только один раз при первом запуске, он сохраняется в недрах Windows и при последующих запусках подставляется автоматически. Вся команда выглядит следующим образом:

runas /savecred /user:Андрей notepad.exe

Внимание! Ключ /savecred не работает в Домашних версиях Windows.

Кажется вот оно счастье, однако есть определенные неудобства. Например, какая-либо программа отказывается запускаться в простой учетной записи. Вы запускаете ее вышеописанным способом, все замечательно. Теперь та же ситуация чуть под другим углом. Вы администратор компьютера, а например у вашего ребенка простая учетная запись и игра отказывается запускать под ним. Давать ему пароль администратора вы не намерены, поэтому вы создаете ярлык, прописываете ключ /savecred, вводите пароль первый раз и довольный потираете руки.

Дальнейшие события зависят от степени продвинутости человека, которому вы сделали такой ярлык. Если пользователь чайник в компьютерах, то можете спать спокойно, в противном случае, в один прекрасный день, он может додуматься поменять в ярлыке путь к исполняемому файлу на другой и сможет запускать другие программы от имени администратора.

Так же он получит доступ ко всем файлам на жестком диске компьютера, даже если доступ к ним запрещен его учетной записи, включая папки «Мои документы» других пользователей компьютера. Согласитесь, довольно серьезная дыра в безопасности компьютера при использовании команды Runas с ключом /savecred.

У команды Runas есть ограничения на запуск некоторых системных программ от имени администратора компьютера, в том числе проводника. В Windows XP это обходится использованием ключа /separate: runas /savecred /user:Андрей "explorer.exe /separate" В более поздних версия операционной системы Windows он не работает, но можно воспользоваться любым другим файловым менеджером и получить доступ к файлам от имени админа.

Выходом в данном случае будет сделать такие настройки безопасности, чтобы нужная программа запускалась от имени простого пользователя или использовать сторонние программы для запуска от имени администратора.

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

Во-первых, и самое главное, не говорить ему, что программа запускается от имени другого пользователя. Правда он может сам узнать об этом в диспетчере задач.

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

Если в имени пользователя или пути к файлу есть русские буквы, то его нужно сохранить в кодировке DOS 866 или в начало bat файла на отдельной строке необходимо вставить chcp 1251.

В-третьих, сделать bat файл не читаемым, чтобы затруднить пользователю анализ, каким образом запускается программа. Для этого сконвертируем наш bat файл в привычный exe. Можно воспользоваться одной из программ конвертеров, например бесплатной программой «Bat To Exe Converter» или любой другой на ваш вкус. Запускаете программу и в поле «Batch file» указываете ваш bat файл. В поле «Save as» куда и под каким именем сохранить результат. Дополнительно для большей конспирации можно на вкладке «Versioninformations» в поле «Icon file» указать значок для нашего будущего exe-шника в формате ico. Остальные параметры можно не трогать. Когда все будет готово, нажимаете кнопку «Compile» и получаете свой exe файл.

Теперь открывать его в текстовом редакторе бесполезно. Копируете его в папку с запускаемой программой, называете как-нибудь похоже на название программы и делаете на него обычный ярлык на рабочем столе.

В-четвертых, последний штрих, выдающий в нем командный файл, это на секунду появляющееся черное окно на рабочем столе. Избавиться от него совсем простым способом не получится, но можно достаточно просто свести его заметность к минимуму. Достаточно в свойствах ярлыка на вкладке «Ярлык» выбрать пункт «Свернутое в значок», теперь только на панели задач будет появляться на мгновение окно командной строки.

Все, теперь если человек от которого вы хотите скрыть админский пароль является чайником или обычным среднестатистическим пользователем можете спать спокойно. Конечно, грамотный человек сможет узнать содержимое созданного нами exe-шника, но по большому счету это не требуется. Достаточно догадаться, что используется команда runas и просто создать свой ярлык для запуска нужной программы так что, несмотря на все ухищрения это поможет только от начинающего пользователя.

Как удалить сохраненный пароль в команде Runas

Сохранив единожды пароль от учетной записи в команде runas, вы можете в дальнейшем запускать программы, не вводя его снова. Однако вам может потребоваться заблокировать возможность запускать программы от имени другой учетной записи пользователя компьютера с использованием сохраненного пароля в runas.

Чтобы удалить сохраненный пароль, выполните «Пуск» ⇒ «Панель управления» ⇒ «Учетные записи пользователей и семейная безопасность» ⇒ «Диспетчер учетных данных».

В разделе «Учетные данные Windows» (интерактивный вход в систему) удаляете не нужные больше записи из хранилища.

Как запустить от имени администратора командную строку CMD и любую другую программу на Windows 7, 8, 10. Запуск от имени админа выполняется 10-ю методами.

При запуске программ с повышенными правами возникает окошко, в котором нужно подтвердить запуск – UAC учетных записей. Некоторые пользователи отключают эту функцию вообще. Таким образом страдает безопасность компьютера. Ведь не появись предупреждающее окошко UAC, любая вредоносная зараза сможет стартовать с вашего компьютера от имени администратора. «Плохой» код и пиши пропало.

Чтобы облегчить пользователям запуск программ от имени администратора я подготовил парочку способов.

Нередко бывают моменты, когда в Windows происходят сбои. Это предсказать очень сложно, но исправить возможно. Например, вы хотите запустить программу от имени администратора. По стандарту нажимаете на ярлык правой кнопкой мышки, а пункта, отвечающего за запуск с повышенными привилегиями нет. При этом опция может находиться в меню Win+X.

Бывает так, что открыть программы от имени админа возможно только в случае, если зайти в системный диск и запустить программу оттуда. Например, нужно запустить ярлык, находящийся по пути C:Program Files (x86)AIMP/aimp.exe, а не с рабочего стола.

Самое простое решение – почистить кэш системы. Существует много способов очистки временных мусорных файлов. Делается это следующим образом:

  • Открываем Пуск.
  • Переходим в меню «Выключение».
  • Зажимаем клавишу Shift и щелкаем по кнопке «Завершение работы».
  • Готово.

Следующий опыт показал, что проверка системы на целостность системных файлов и восстановление повреждённых возможна при выполнении в командной строке или утилите PowerShell следующих команд:

  1. DISM.exe /Online /Cleanup-image /Restorehealth
  2. sfc /scannow

Когда пользователь пробует использовать команду запуска с повышенными привилегиями, а она не работает или вовсе отсутствует, тогда в Windows отключен контроль учетных записей UAC. Многие пользователи действительно его отключают, чтобы избавиться от постоянных раздражающих уведомлений.

Попробуйте его включить и проверить, удалось ли исправить проблему.

Для возвращения запуска программ и приложений от имени администратора откройте панель управления Windows. Обычно ее можно найти в меню Пуск, а проще открыть окно «Выполнить» горячими клавишами Win+R. Затем вводим команду control.

На следующем этапе мы переводим режим отображения в «Мелкие значки». Делается справа вверху. Теперь находим раздел «Учетные записи пользователей».

Находим опцию «Изменить параметры контроля учетных записей».

Выставляем ползунок в положении 3 – «Не уведомлять при изменении параметров Windows пользователем». И нажимаем ОК.

Если окно включения контроля учетных записей не работает, попробуйте сделать операцию после перезапуска компьютера и выполнить команду sfc /scannow.

Выводы

Мы рассмотрели кучу способов по запуску программ от имени администратора. Есть варианты, где требуется ввести пароль – это одно из безопасных решений, ведь каждый раз, когда мы вводим пароль, можно особо не бояться за потерю каких-то данных. Вирусные программы также не смогут запустить инструменты Windows таким способом.

Еще мы рассмотрели программы, позволяющие запускать программы с повышенными правами без пароля. Хоть это и удобно, но вирус или человек сможет запросто использовать программу в нехороших целях. Также вирусы способны поменять объект ярлыка на сторонний вредоносный ресурс или на программный код, который будет паразитировать в Windows. В целом очень о многих методах мы узнали, а какой использовать решать только вам. Всем удачи!

19 марта 2019

Приложение требует доступа к правам администратора? Мы расскажем вам о том, как запустить от имени администратора любую программу, пользуясь несколькими методами.

Операционная система Windows разделяет пользователей на две категории – рядовых юзеров и администратора. При появлении ошибок, внесение изменений в ОС станет возможным только при наличии прав администратора.

В представленной статье мы расскажем о том, как правильно запустить от имени администратора любое приложение, включая системные утилиты Windows.

Запуск от имени администратора с помощью контекстного меню

Чтобы вызвать контекстное меню, необходимо нажать на правую кнопку мыши. Далее нажимаем мышкой по иконке любой программы и выбираем опцию«Запуск от имени администратора». Так вы сможете получить доступ к командной строке или другому приложению, работа которого невозможна без повышенных привилегий.

Выбор параметра запуска программы от имени администратора

Используем сочетание Ctrl+Shift+Enter при поиске

При отсутствии какого-либо элемента в меню «Пуск» или на рабочем столе вы, скорее всего, воспользуетесь поиском. Этот алгоритм присутствует в любой версии операционной системы Windows, но апогея удобства он достиг только в 10-м поколении.

Попробуйте прописать любую команду – к примеру, cmd, чтобы открыть командую строку. При выборе результата надо одновременно зажать комбинацию «Ctrl+Shift+Enter». Этот способ популярен во многом благодаря своему удобству.

Запуск приложения с правами администратора с использованием специальной команды

Дополнительные свойства ярлыков

Многие пользователи задаются вопросом касательно того, как правильно запустить командную строку с использованием прав администратора. Для ускорения доступа уже имеется значок на рабочем столе, но пользователю неудобно периодически пользоваться контекстным меню. Эта проблема более чем решаема.

  • Откройте свойства ярлыка. Для этого наведите на иконку интересующей программы, нажмите правую кнопку мыши и выберите раздел «Свойства». Там вам надо найти раздел «Дополнительно».

Выберите вкладку «Дополнительно»

  • Перед вами должен появиться перечень дополнительных параметров. Там вам нужно отметить параметр «Запуск от имени администратора», поставив галочку.

Поставьте галочку как указано выше

  • Вот и все, теперь при открывании программы всегда будут действовать повышенные права.

Важно! Еще один интересный способ – перейти во вкладку «Совместимость», где будет доступна опция, позволяющая запустить приложение от имени администратора.

Поставьте галочку в подчеркнутой области

Как запустить Windows от имени администратора

Вы можете воспользоваться несколькими способами:

  • скачать стороннее программное обеспечение;
  • запустить системные утилиты;
  • воспользоваться планировщиком заданий;
  • запустить программы из командной строки.

Все эти варианты подробно рассмотрены ниже.

Программы для запуска от имени администратора

Наибольшей популярностью пользуются три продукта – RunAs, ExecAS и AdmiLink. Если ни один из перечисленных вариантов не подходит, не отчаивайтесь – достаточно воспользоваться планировщиком заданий. Впрочем, предлагаем ознакомиться с каждым решением поподробнее.

Программа RunAs

Это приложение присутствует в базовой сборке любой версии операционной системы Windows, поэтому пользователю не придется скачивать ее отдельно. Но с запуском не все так просто. Дело в том, что приложение спрятано глубоко в главной системной папке.

Есть простой вариант быстрого запуска. Достаточно выполнить два действия – включение командной строки с дальнейшим вводом такой команды: «runas /user:N1N2 msconfig.exe», где N1 – это имя персонального компьютера, а N2 – имя пользователя, зарегистрировавшего учетную запись в системе.

Важно! Вполне возможно, система попросит ввести пароль. Такая необходимость возникает в случае, если сама учетная запись является запароленной. Обязательно введите кодовое слово/фразу.

Ввод пароля

Сделав все правильно, система должна вывести окно конфигурации системы.

Интересный факт:

Помимо утилиты, приведенной выше, также можно пользоваться другими вариантами программ – например, cmd.exe.

Затем пользователь создает ярлык на рабочем столе. Для этого ему надо нажать на правую кнопку мыши, предварительно наведя курсор на пустую область. Затем нажимаем «Ярлык». При выборе расположения указываем идентичную команду: « runas /user:N1N2 msconfig.exe».

Создайте название для ярлыка и сохраните его. Как правильно это сделать, мы покажем на скриншотах ниже.

Укажите расположение объекта

Присвоение имени новому ярлыку

После того, как вы попытаетесь запустить ярлык, система откроет командную строку, предложив ввести пароль от пользовательского профиля. Правильно введя данных, система автоматически запустит либо msconfig, либо другую ранее выбранную утилиту.

При подобной конфигурации пользователям, имеющим доступ к персональному компьютеру, придется постоянно вводить пароль. Вы скажете, что это неудобно, и будете абсолютно правы. Чтобы избавиться от необходимости периодически вводить пароль, мы рекомендуем вам добавить в команду параметр /savecred. В результате получится следующая команда:

runas /savecred /user:N1N2 msconfig.exe

Ярлыки с наличием такой опции не подойдут в случае, если для вас важно сохранять безопасность. Логичнее регулярно вводить пароль, не беспокоясь о том, что третьим лицам захочется использовать средства Windows без пароля, навредив вам.

Инструмент ExecAS

Запустить приложение с правами администратора можно и с помощью утилиты ExecAS. После включения появится окошко, где вам будет предложено ввести логин и пароль от учетной записи, а также путь к программе и ее имя. Заполнив все эти данные, нажмите на кнопку «Записать».

Пример заполнения полей в программе ExecAS

В перечне ExecAS должна появиться выбранная программа. Закройте приложение, а затем запустите его снова. Если все сделано правильно, откроется программа из списка сохраненных в ExecAS. Для добавления дополнительного приложения откройте командную строку и пропишите команду ExecAS.exe /S.

Важно! При совершении последнего действия убедитесь в том, что вы находитесь в системном каталоге с программой. Например, D:ExecAS.

Если все сделано правильно, программа появится в окне, как показано выше

После повторного запуска ExecAS вы можете добавить дополнительный софт. Должно появиться аналогичное окно. Способ рабочий, но не всегда удобный. Для повышения комфорта создаем ярлыки.

Все, что нужно вам сделать – это создать два ярлыка, в которых прописаны следующие команды:

  • D:ExecASExecAS.exe 1;
  • D:ExecASExecAS.exe 2.

С помощью чисел 1 и 2 вы выбираете номер программы, записанной в ExecAS.

После запуска ярлыков вы увидите, что их открытие произошло с использованием прав администратора.

Утилита AdmiLink

Помните о том, что AdmiLink – это консольная утилита, после установки которой она пропишется в каталоге операционной системы.

Запустив инструмент, вы увидите интуитивно понятное окно с русскоязычным интерфейсом. Следовательно, в ней вы легко разберетесь.

  1. Первое поле должно содержать путь к файлу, который вы хотите запустить.
  2. Второе поле можно оставить пустым, так как оно отвечает за использование дополнительных параметров командной строки.
  3. Третью строчку система заполнит в автоматическом режиме. Если этого не произошло, вам нужно прописать путь к корневой папке Windows.
  4. Четвертая строчка состоит из двух параметров:
  • show – программное обеспечение запустится в стандартном режиме, при этом окно будет оставаться видимым;
  • hide – программное обеспечение будет работать «в фоне», оставаясь невидимым пользователю.
  • Следующий этап состоит из заполнения параметров вкладки «Account»:
  • имя домена может быть разным – достаточно прописать имя учетной записи, либо вписать test.lan/NetBios на свое усмотрение;
  • имя пользователя выбирается путем нажатия на кнопку с изображением трех точек;
  • введите пароль от аккаунта пользователя и подтвердите совершение действия;
  • после ввода данных кликните по кнопке «Тестировать».

Интерфейс утилиты AdmiLink после заполнения данных

Программа должна убедиться в достоверности введенных ранее данных. В командной строке нажмите любую кнопку.

Для завершения процедуры щелкните любую кнопку

Если тестирование пройдет успешно, выберите опцию «Сгенерировать ключ запуска AdmiRun».

Важно! При невыполнении действия, приведенного выше, программа не будет работать должным образом.

Переходим к следующему этапу. Кликните по вкладке «Link» и следуйте дальнейшей инструкции:

  • укажите имя ярлыка. Назвать его можно на свое усмотрение;
  • укажите место расположения ярлыка в опции «Каталог»;
  • добавьте картинку для ярлыка;
  • щелкните один раз по кнопке «Сгенерировать командную строку».

На финальном этапе остается нажать кнопку «Создать Ярлык сейчас».

Создайте ярлык, нажав большую кнопку справа

Подтверждением правильности введенной информации является появление значка в указанном каталоге или на рабочем столе. Попытайтесь запустить созданный ранее ярлык. Если приложение запустится от имени администратора, это значит, что операция выполнена успешно. Если ничего не происходит, скорее всего, на определенном этапе вы допустили ошибку.

Важно! При изменении программы в поле «Объект» в свойствах ярлыка она не включится. Это сделано для предотвращения проблем с распространением вредоносного кода по системе.

Окно ошибки запуска программы

Планировщик заданий

Запуск программы с правами администратора также возможен путем использования инструмента «Планировщик заданий». Правда, тут есть одна проблема – если у вас нет прав администратора, этот способ не подойдет.

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

Создайте новую задачу

Дайте задаче соответствующее имя. Например, если планируется запуск командной строки от имени администратора, пропишите название «CMD». Не забудьте поставить галочку возле опции «Выполнить с наивысшими правами».

Не забудьте присвоить программе наивысшие права

Вкладка «Действия» содержит кнопку «Создать». Кликните по ней.

Создайте новую задачу

Ваша задача – выбрать действие, то есть, назначить запуск приложения. После нажатия на кнопку «Обзор» вам надо выбрать утилиту, которую в будущем хочется включать от имени администратора. При запуске командной строки пропишите путь «С:WindowsSystem32cmd.exe». Подтвердите действие нажатием на кнопку «ОК».

Заполните поле с перечнем действий, которые должен выполнять планировщик заданий

Вкладка «Действия» теперь должна содержать новую строчку. Супер, нажмите на «ОК».

Запуск приложения из командной строки

Если командная строка по умолчанию запускается с правами администратора, при запуске других приложений через нее они также получат права администратора.

Согласитесь, это очень удобно.

Использование инструмента Elevate

Так как программа Elevate не входит в состав Windows по умолчанию, ее надо скачать отдельно. После этого запустите командную строку и пропишите команду, включающую два пути – к программе Elevate и приложению, которое надо запустить от имени администратора.

Программа автоматически присвоит выбранному приложению право запуска от имени администратора. Это очень простой способ, так как нуждается в минимальной трате времени.

Выводы

В этой статье мы с вами рассмотрели список простых способов, позволяющих запустить программы с правами администратора. Некоторые из них предусматривают ввод пароля, что позволяет повысить безопасность.

Ввод пароля позволяет предотвратить хищение или удаление важных данных. Да и вирусное программное обеспечение не сможет воспользоваться инструментами Windows таким методом.

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

Если вы знаете другие способы запуска приложений от имени администратора, мы будем рады узнать о них в комментариях! А пока что предлагаем ознакомиться с полезным видео по теме.

Источник

Запуск элементов панели управления и оснасток Windows от имени администратора в пользовательской сессии

Зачастую возникает необходимость, работая в сеансе удаленного подключения под учетной записью пользователя, запустить какую-либо оснастку от имени администратора.

Для удобства приведу список наиболее часто используемых в администрировании оснасток:

Название оснастки

Имя оснастки

Active Directory Пользователи и компьютеры (AD Users and Computers)

dsa.msc

Диспетчер служб терминалов (Terminal Services Manager)

tsadmin.msc

Управление компьютером (Computer Management)

compmgmt.msc

Консоль управления GPO (Group Policy Management Console)

gpmc.msc

Редактор объектов локальной политики (Group Policy Object Editor)

gpedit.msc

Результирующая политика (результат применения политик)

rsop.msc

Локальные параметры безопасности

secpol.msc

Настройка терминального сервера (TS Configuration)

tscc.msc

Маршрутизация и удаленый доступ (Routing and Remote Access)

rrasmgmt.msc

Службы (Services)

services.msc

Общие папки (Shared Folders)

fsmgmt.msc

Диспетчер устройств (Device Manager)

devmgmt.msc

Локальные пользователи и группы (Local users and Groups)

lusrmgr.msc

Локальная политика безопасности(Local Security Settings)

secpol.msc

Управление дисками (Disk Management)

diskmgmt.msc

Active Directory Домены и Доверие(AD Domains and Trusts)

domain.msc

Active Directory Сайты и Доверие (AD Sites and Trusts)

dssite.msc

Политика безопасности домена (Domain Security Settings)

dompol.msc

Политика безопасности контроллера домена (DC Security Settings)

dсpol.msc

Распределенная файловая система DFS (Distributed File System)

dfsgui.msc

Способов запуска от имени администратора существует несколько.

Наиболее очевидным кажется использование команды RunAs, позволяющей запускать из консоли приложения от имени другого пользователя.

Синтаксис команды —

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]         /smartcard [/user:<имя пользователя>] <программа>

К примеру, runas /user:domainadmin «diskmgmt.msc» приведет к запуску оснастки Управление дисками (Disk Management) от имени пользователя admin.

Аналогично можно запускать и элементы панели управления и отдельные свойства системы:

Название элемента панели управления

Команда

Свойства системы

sysdm.cpl

Установка и удаление программ

appwiz.cpl

Учетные записи пользователей

nusrmgr.cpl

Дата и время

timedate.cpl

Свойства экрана

desk.cpl

Брэндмауэр Windows

firewall.cpl

Мастер установки оборудования

hdwwiz.cpl

Свойства Интернет

inetcpl.cpl

Специальные возможности

access.cpl

Свойства мыши

control Main.cpl

Свойства клавиатуры

control Main.cpl,@1

Язык и региональные возможности

intl.cpl

Игровые устройства

joy.cpl

Свойства: Звуки и аудиоустройства

mmsys.cpl

Мастер настройки сети

netsetup.cpl

Управление электропитанием

powercfg.cpl

Центр обеспечения безопасности

wscui.cpl

Автоматическое обновление

wuaucpl.cpl

Сетевые подключения

ncpa.cpl

Существует еще один очень простой способ запуска оснасток и элементов панели управления, без использования консольной команды.

Достаточно запустить от имени администратора консоль(cmd), и в ней ввести explorer /separate , что приведет к запуску отдельного процесса explorer с наследованием прав.

Очевидно, что в его командной строке можно запускать любые элементы панели управления и оснасток, как с помощью навигации, так и просто набрав «панель управления» в адресной строке.

Следует также отдельно отметить, что в случае, если в системе отключен UAC, это может привести к невозможности запуска приложений подобным образом.

image

(с) Вася Ложкин.

К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.

Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…

Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

Программа может запрашивать права администратора условно в двух случаях:

  1. Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
  2. Когда программу скомпилировали со специальным флагом «Требовать права администратора».

С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:

image

Куда это лезет этот 7Zip?

И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.

Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.

Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:

  • asInvoker. Программа запускается с теми же правами, что и породивший ее процесс (как правило, это explorer.exe c правами пользователя);
  • highestAvailable. Программа попросит максимально доступные пользователю права (у администратора появится окно с запросом повышения UAC, у пользователя — нет);
  • requireAdministrator. Программа будет требовать права администратора в любом случае.

Если разработчик твердо решил требовать права администратора, даже если они не нужны, то обойти это можно малой кровью.

В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.

Простейшим вариантом работы с этим механизмом будет использование переменных среды.

Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:

image

Запрос повышение прав.

Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:

set __COMPAT_LAYER=RUNASINVOKER 

То запроса UAC не будет, как и административных прав у приложения:

image

Бесправный редактор реестра.

Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?

С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».

Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.

Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.

Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:

image

Создаем исправление приложения.

Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).

Далее необходимо в списке исправлений выбрать RunAsInvoker.

image

Выбираем нужный фикс.

Все остальное оставляем по умолчанию, сохраняем базу данных. Должно получиться примерно так:

image

Созданный фикс для bnk.exe.

После этого достаточно будет установить базу данных, щелкнув по ней правой кнопкой и выбрав Install. Теперь пользователи смогут сами грузить классификаторы банков.

Все становится хуже, если приложению действительно нужны права админа. Тогда добавление прав на системные объекты и исправления не помогают.

Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.

Ну, посмотрим, что из этого выйдет.

Команда:

runas /savecred /user:Администратор "C:Program Files7-Zip7zFM.exe"  

Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.

image)

Вводим пароль.

Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.

Зато runas может быть полезен, когда сотрудник знает пароль администратора, но работает под ограниченной учетной записью (по идее так должен делать каждый системный администратор).

Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.

Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».

Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:

$Cred = Get-Credential 

Затем сохранить пароль в зашифрованном виде в файл:

$Cred.Password | ConvertFrom-SecureString | Set-Content c:pass.txt 

И теперь использовать этот файл для неинтерактивной работы:

$username = "DomainАдминистратор"  $pass = Get-Content C:pass.txt | ConvertTo-SecureString  $creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $pass 

К сожалению, файл этот можно использовать только на том ПК, на котором его создали. Чтобы этого избежать, можно сделать отдельный ключ шифрования. Например так:

$AESKey = New-Object Byte[] 32  [Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($AESKey)  $AESKey | out-file C:password_aes.key 

Теперь при помощи этого ключа пароль можно зашифровать:

$Cred.Password| ConvertFrom-SecureString -Key (get-content C:password_aes.key  )| Set-Content C:pass.txt 

И расшифровать:

$pass = Get-Content C:pass.txt | ConvertTo-SecureString -Key (get-content C:password_aes.key) 

К сожалению, с безопасностью дела обстоят так же печально: утащить пароль не составляет трудностей, если есть доступ к файлу с ключом шифрования и зашифрованным паролем. Да, можно добавить обфускации и скомпилировать скрипт в .exe вместе с нужными файлами. Но нужно понимать, что это — полумеры.

В свое время я использовал для решения подобных задач свой любимый AutoIt, где компилировал скрипт с командой RunAs и радовался… До тех пор, пока не узнал, что AutoIt (особенно старых версий) декомпилируется на раз-два.

Другим интересным вариантом может быть применение назначенных заданий — если создать назначенное задание от админского аккаунта, пользователю для работы будет достаточно его запуска. К сожалению, для интерактивной работы с приложением это решение не подходит.

На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.

Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.

Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).

Основное окно программы.

Помимо непосредственно создания ярлыка (и да, запрос UAC тоже можно подавлять), есть и дополнительные функции вроде калькулятора, терминала и удобных настроек политик безопасности. Со всеми возможностями программы читателю предлагается разобраться самостоятельно.

Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.

На первый взгляд все выглядит безопасно, но, к сожалению, код программ закрыт, и насколько можно доверять разработчику — вопрос.

Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.

В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.

RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.

Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.

Основное окно программы.

Программа богато документирована на официальном сайте.

У этого автора есть еще и программа RunAsSpc, позволяющая запускать исполняемые файлы под правами другого пользователя, передавая учетные данные через зашифрованный файл.

Мне остается только добавить, что это ПО бесплатно только для личного использования.

Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.

Запускаем cmd.exe прямо из редактора реестра.

Немного защититься помогут политики запрета контекстного меню и прочих диспетчеров задач, часть из которых может настроить AdmiLink. Но в любом случае следует быть осторожным.

А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий