No Image

Как запускать bat файлы от имени администратора

СОДЕРЖАНИЕ
5 699 просмотров
16 декабря 2019

Существует множество приложений Windows, для работы которых требуются права администратора. В современных ОС для этого обычно используется режим ”Запуск от имени администратора” контекстного меню проводника. При этом выводится запрос средства контроля учетных записей пользователя UAC (User Account Control ), требующего подтверждения разрешения на запуск приложения:

Если пользователь нажимает кнопку ”Да”, приложение выполняется с повышением привилегий в контексте учетной записи администратора. Если же пользователь нажмет ”Нет” – приложение выполнится в контексте пользовательской учетной записи. Такой же результат будет получен, если пользователь вообще не ответит на запрос UAC – по истечении времени ожидания ответа, приложение будет запущено в контексте учетной записи пользователя. Это делает проблематичным выполнение командных файлов с повышением привилегий в автоматическом режиме, поскольку требуется вмешательство пользователя. Для решения данной проблемы большинство пользователей Windows, как правило, отключают систему контроля учетных записей UAC, что нежелательно, поскольку это снижает уровень безопасности ОС. Так, например, при выключенном UAC, пользователь даже не заметит как вирус-шифровальщик удалит теневые копии томов и приступит к шифрованию файлов. В результате будут гарантировано потеряны данные без какой-либо возможности их восстановления. При включенном же UAC, попытка удаления теневых копий с помощью стандартной утилиты vssadmin.exe приведет к отображению на экране запроса UAC, который, как минимум, привлечет внимание пользователя и позволит отреагировать на угрозу. Подробнее о вероятности восстановления данных после вируса-шифровальщика в отдельной статье.

Таким образом, возникает задача выполнения программ или командных файлов от имени администратора при включенном UAC, но без запроса на разрешение их запуска. Одним из способов решения подобной задачи является использование специально подготовленной задачи стандартного Планировщика заданий Windows. Необходимо создать задачу для запуска командного файлат с повышенными привилегиями. Переходим в ”Панель управления” — ”Администрирование” — ”Планировщик заданий” — ”Библиотека планировщика заданий”, выбираем в меню ”Действия” – ”Создать простую задачу”. С помощью мастера создания простой задачи, создаем задачу, например, с именем Admbat

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

В качестве действия выбираем ”Запустить программу”

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

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

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

netstat –b — отобразить список соединений с именами создавших их программ. Параметр b требует административных привилегий. Содержимое командного файла:

Rem Выполняем команду в контексте учетной записи пользователя
netstat –b
rem Пауза для просмотра результатов
pause
Rem Готовим содержимое командного файла Ifadmin.bat задачи планировщика Admbat
echo netstat –b > C:Scriptsifadmin.bat
echo pause >> C:Scriptsifadmin.bat
Rem Выполним задачу планировщика с именем Admbat
schtasks /run /tn Admbat

Таким образом, сначала будет выполнена команда netstat –b в контексте учетной записи пользователя, с выдачей сообщения

Запрошенная операция требует повышения.

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

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

copy C:MyScriptsadmin1.bat C:Scriptsifadmin.bat

И выполнить задачу планировщика Admbat командой:

schtasks /run /tn Admbat

Задача планировщика будет использоваться одна и та же — Admbat , но содержимое командного файла ifadmin.bat можно менять под свои потребности.

Задачу планировщика можно создать и из командной строки с помощью утилиты schtasks.exe и разрешить ее выполнение с правами администратора, задав параметр /RL HIGHEST

schtasks /create /TN "Admbat" /TR "C:Scriptsifadmin.bat" /SC ONCE /SD 11/12/2018 /ST 14:00 /RL HIGHEST .

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

В заключение добавлю, что нелишней будет проверка в наличия администраторских прав в самом командном файле ifadmin.bat . Это легко реализуется с помощью команды:

WHOAMI /PRIV — отобразить действующие привилегии текущего пользователя.

Так, например, удаленное выключение компьютера доступно только в контексте учетной записи администратора. В этом случае, в результатах вывода WHOAMI присутствует строка "SeRemoteShutdownPrivilege". С помощью команды find ищем эту строку в результатах вывода команды whoami /priv и если она найдена (переменная ERRORLEVEL равна нулю) – командный файл выполняется с правами администратора. Например:

@echo OFF
WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege" > nul
if %ERRORLEVEL% == 0 goto admin
color 8F
echo Нет прав администратора.
pause
exit
:admin
color f0
ECHO Есть права администратора.
pause

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

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

— выполняется задача планировщика Admbat для запуска файла ifadmin.bat с правами администратора без запроса UAC.

— завершается текущий командный файл (но вместо него выполняется он же, скопированный в ( ifadmin.bat ), но с правами администратора).

Содержимое командного файла:

WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege" > nul

if %ERRORLEVEL% == 0 goto admin

schtasks /run /TN Admbat

start "notepad with admin rights" %SystemRoot%
otepad.exe C:Scriptsifadmin.bat

Несколько пояснений. Данный командный файл вначале проверяет наличие прав администратора, и если они есть – выполняется переход на метку :admin — запускается блокнот, открывающий файл C:Scriptsifadmin.bat . После чего работа командного файла завершается по команде exit. Если права администратора отсутствуют, выполняется копирование текущего командного файла, имя и путь которого принимает переменная %

f0 , в файл C:Scriptsifadmin.bat . Для подавления запроса на перезапись существующего файла команда copy используется с ключом /Y . После копирования, выполняется запуск задачи планировщика, обеспечивающей повторный запуск этого же командного файла (скопированного в файл C:Scriptsifadmin.bat , но уже с правами администратора системы.

Дополнительная информация по теме:

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"

Простой компьютерный блог для души)

Всем привет. Ребята, в этой заметке я вам расскажу о том как запустить cmd в Windows 7 с админскими правами и еще маленький трюк покажу, как это все дело провернуть с …батником. Да, и расскажу что такое батник. Итак, для начала немного инфы так бы сказать вводной. Если простыми словами, то командная строка это черное окно, куда можно вводить всякие команды, которые могут помочь в настройке винды. Батник это файл, в который команды эти можно записать, их можно несколько там написать и все они будут по очереди выполняться. То есть батник это что-то типа сценария.

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

ВНИМАНИЕ. Ребята, если вам нужно запустить команду от имени администратора, то сначала нужно саму командную строку запустить от админа! А в ней уже все команды будут АВТОМАТОМ от имени администратора! Я об этом тут и написал!

Ребята, скажу сразу — задача с батником провалилась, я про запуск батника с админскими правами. Я думал что это просто, оказалось что это вроде как вообще нереально..

Значит зажимаете Win + R, но вставляете уже это:

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

И теперь вам нужно просто нажать правой кнопкой по cmd и выбрать запуск от имени админа:

И все, потом запустится командная строка и там в заголовке должно быть слово Администратор:

Так, я еще обещал показать как запустить эту командную строку от админа при помощи батника. Хм, вот тут сложняк, но смотрите, для начала создадим батник с названием cmd_admin.bat, я его создам на рабочем столе:

Как создать батник знаете? Правой кнопкой по рабочем столу, потом создаете текстовый документ. Название его, то есть Новый текстовый документ.txt, полностью меняете на название батника, в нашем случае это cmd_admin.bat, все просто. Если вы не видите расширения, то есть последнее в название, что идет после точки, ну я имею ввиду .txt или .bat, то вам нужно включить отображение расширений файлов. Для этого идете в панель управления, там находите значок Параметры папок и там на вкладке Вид в самом низу снимаете эту галочку:

Думаю понятно =) Итак, мы создали батник, что дальше? Нажимаем по нему правой кнопкой и выбираем Изменить:

И откроется пустой батник:

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

runas /savecred /user:"Администратор" cmd.exe

runas /savecred /user:administrator "cmd.exe"

Вторую я вставил в батник, запустил, но оно требует пароль:

О каком пароле идет речь, я даже не знаю… Не, ну можно запустить и так батник, (но я думаю вы не это имели ввиду):

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

Ребята, сори, но.. увы.. я о батнике. Правда есть еще не очень хорошая новость — если подумать логически.. то вроде это и невозможно без сторонних модулей, если на чистом батнике, без VBS, то я думаю это невозможно сделать и все из-за того что так устроена безопасность =( Удачи вам, извините что не получилось, но вы не печальтесь.. до встречи друзья!

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

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

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

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

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

Когда на рабочем столе или в меню Пуск нет какого-либо инструмента мы обращаемся к поиску. Любая версия Windows оснащена им, а в десятой он наиболее удобен. Пропишите какую-нибудь команду, например, cmd – командная строка. Выбрав результат одновременен зажимаем комбинацию Ctrl+Shift+Enter. Простой способ не так ли?

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

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

Заходим в свойства ярлыка (правая кнопка мышки и Свойства) и идём в раздел «Дополнительно».

Откроются дополнительные параметры. Там отметьте галочкой параметр «Запуск от имени администратора». Теперь при обычном запуске программы она всегда откроется с повышенными правами.

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

Существует следующие программы: RunAs, AdmiLink, ExecAS.

Инструмент RunAs

Он является частью Windows, поэтому им можно пользоваться. Чтобы её запустить достаточно открыть командную строку и ввести следующую команду:

runas /user:ИмяПКИмяПользователя msconfig.exe

Скорее всего появится просьба о вводе пароля. Обязательно вводим.

Дальше должно появится окошко конфигурации системы. Вместо указанной утилиты используйте cmd.exe или прочие утилиты.

Давайте создадим ярлык на рабочем столе. Нажимаем правой кнопкой мышки на пустой области и выбираем «Ярлык». В качестве расположения прописываем ту самую команду:

runas /user:ИмяПКИмяПользователя msconfig.exe

Даем название ярлыку и сохраняем.

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

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

runas /savecred /user:ИмяПКИмяПользователя msconfig.exe

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

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

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

В окошке ExecAS появился наш подопытный кролик, Закройте программу и откройте заново. Сразу же откроется та программа, указанную нами в ExecAS. Чтобы добавить дополнительное приложение нужно в командной строке прописать ExecAS.exe /S. (При этом нужно находиться в каталоге с утилитой, к примеру, C:ExecAS).

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

Делаем два ярлыка с такими командами:

  • C:ExecASExecAS.exe 1
  • C:ExecASExecAS.exe 2

Числа 1 и 2 отвечают ща номер программы в ExecAS.

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

Указанная в заголовке утилита является консольной, и после инсталляции будет находиться в каталоге Windows.

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

  • В первом поле вводим путь до файла, который хотим запускать;
  • Параметры командной строки во втором поле заполнять необязательно;
  • Третья строчка будет заполнена самостоятельно, если это не так, впишите С:windowssystem32
  • Режим отображение окна. В 4 строчке есть 2 параметра:
  • SHOW – стандартной запуск ПО с видимым окном;
  • HIDE – работа ПО в фоновом режиме;

Настраиваем параметры на вкладке Account:

  • В качестве имени домена пишем имя своего ПК, либо NetBios и test.lan;
  • Имя пользователя – можно выбрать, нажав на кнопку с тремя точками;
  • Пароль от учетной записи и подтвердить.
  • Введя все данные, нажмите кнопку «Тестировать».

Утилита проверит работоспособность указанной нами информации. Жмём любую клавишу в CMD.

После удачного теста нажмите кнопочку «Сгенерировать ключ запуска AdmiRun». Если этого не сделать, то ничего не будет работать.

  • Идём на вкладку «Link» и делаем следующее:
  • Имя ярлыка – называем любым именем;
  • Каталог – указываем, где будет расположен ярлык;
  • Картинка – выбираем изображение для ярлыка;
  • Жмём кнопку «Сгенерировать командную строку».
  • Теперь нажимаем большую кнопку «Создать Ярлык сейчас!».

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

Пробуем запустить ярлык. Если всё удачно и программа запустилась от имени админа, то поздравляю. Иначе неверно выполнены действия на каком-то шаге.

Если зайти в свойства ярлыка и изменить программу в поле «Объект» на другую, то она попросту не запуститься. Это небольшая защита от вредоносов.

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

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

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

Назовите её соответствующим именем, допустим, вы запускаете командную строку, тогда можно назвать CMD. Также ставим галку «Выполнить с наивысшими правами».

На вкладке «Действия» нажмите кнопочку «Создать».

Выберите действие (в нашем случае запуск программы). Нажмите «Обзор» и выберите запускаемую утилиту. Если вы запускаете командную строку, то путь будет таким: С:WindowsSystem32cmd.exe. Теперь нажимаем ОК.

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

Этап создания ярлыка

На рабочем столе делаем ярлык и указываем такую команду:

schtasks /run /tn имя_задачи_в_планировщике

имя_задачи_в_планировщике – это имя, которое вы дали в самом начале процесса создания задачи.

Ура, ярлык мы сделали, но это еще не всё. Перейдите в его свойства.

На вкладке «Ярлык» измените значок. Конечно, делать это вы не обязаны.

Дополнение к способу с планировщиком заданий

Для быстрого запуска множества программок, можно использовать утилиту Elevated Shortcut. Вы берёте ярлык или исполняемого файла и перетаскиваете на значок Elevated Shortcut.

Запуск программ из командной строки

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

Инструмент Elevate

Скачиваете эту утилиту отсюда и распаковываете. Дальше открываем командую строку и вводим такую команду:

Всё просто, не так ли? И командную строку можно обычным способом запускать, программа всё сделает сама.

Выводы

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

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

Комментировать
5 699 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев