Запуск батника от имени администратора windows 10

Запуск приложений от имени Администратора в командных файлах.

Выполнить bat-файл (пакетный файл) с правами администратора windows

Для того, чтобы запустить bat-файл (пакетный файл) с правами администратора Windows не нужно каких-то особых навыков или знаний. Для этого нужно кликнуть по его названию или иконке правой кнопкой мыши. После этого, из выпавшего контекстного меню выбрать (левой кнопкой мыши) пункт «Запуск от имени администратора»:

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

Запуск приложений от имени администратора в командных файлах.

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

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

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

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

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

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

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

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

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

Читайте также:  How to change windows start button

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/2021 /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%notepad.exe C:Scriptsifadmin.bat

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

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

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

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

Список команд CMD Windows

Управление планировщиком заданий в командной строке Windows

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

В начало страницы |
На главную страницу сайта

Запустить bat из под администратора?

Возникла проблема — нужно запустить BAT от имени администратора.

Сначала пробовал решить через

(не помню, что там еще писал).

Введите пароль для Администратор:

Пользователь точно программу удалит. Нашел решение с VBS и BAT:

Вроде все хорошо, но хочу добавить такой вариант: пользователь вводит пароль, а в следующий раз вводить не нужно. В коммандной runas такое есть, а в ShellExecute нет. Как такое сделать?

Читайте также:  Командная строка windows 10 команды восстановления загрузки windows

И еще — основной код запускается bat-ом. Что бы окно не мешало, скрыл его, с помощью того же VBS перенес в скрытые процессы, но не нравится название процесса «Обработчик команд Windows». Можно ли это хотя как-то поменять? Желательно без /^.*(C|Delphi).*$/i .

Какие возможности дают права администратора в Windows 10

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

Что дают права администратора

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

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

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

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

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

UAC — что это

UAC (User Account Control) – сервис Windows 10, отвечающий за доступ к правам администраторам. Пользуясь английской версией системы или обращаясь к настройкам системы, вы можете встретить эту аббревиатуру.

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

Получение прав

В Windows 10 доступ к повышенным правам можно выдать через любую учётную запись: и администратора, и пользователя. Единственное отличие — аккаунт администратора вручает права одной кнопкой «Да», нажатой в соответствующем запросе на получение прав, а аккаунт пользователя требует введения пароля от учётной записи администратора для выдачи прав.

Чтобы выдать права с аккаунта пользователя, нужно ввести пароль

Видео: получение прав администратора

Запуск программы с правами администратора

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

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

Через контекстное меню

Кликнув по ярлыку или запускающему файлу программы правой клавишей мыши, вы вызовете контекстное меню. В нём будет пункт, позволяющий выполнить загрузку с нужными правами. Он помечен значком в виде жёлто-синего щита. Нажав на него, вы откроете программу с полным доступом.

Нажимаем на ярлык ПКМ и выбираем «Запустить от имени администратора»

Через функцию проводника

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

Переходим к вкладке «Управление» и запускаем с правами администратора

Читайте также:  Как полностью сбросить компьютер до заводских настроек windows

Через системную поисковую строку

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

Кликаем по найденному приложению ПКМ и запускаем с правами

Через меню «Пуск»

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

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

Через панель быстрого доступа

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

Дважды используем ПКМ на панели быстрого доступа и выбираем нужную функцию

Через диспетчер задач

  1. Вызвав контекстное меню панели быстрого доступа или использовав системную поисковую строку, откройте диспетчер задач. Открываем диспетчер задач
  2. Разверните меню «Файл» и перейдите к созданию новой задачи. Выбираем пункт «Запустить новую задачу»
  3. Укажите название запускающего exe-файла и поставьте галочку, подтверждающую запуск от имени администратора. Подтвердите действие, приложения должно запуститься. Прописываем название файла и ставим галочку для запуска с правами администратора

Через свойства (активация постоянного запуска с повышенными правами)

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

  1. Открыв контекстное меню ярлыка программы, перейдите к свойствам. Открываем свойства ярлыка
  2. Разверните вкладку «Совместимость» и перейдите к изменению параметров. Обратите внимание, данный шаг потребует прав администратора. Нажимаем на кнопку «Изменить параметры для всех пользователей»
  3. Установите галочку напротив строки «Запускать эту программу от имени администратора». Устанавливаем галочку напротив строки «Запускать эту программу от имени администратора»

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

Через реестр (активация постоянного запуска с повышенными правами)

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

  1. Используя поисковую строку или окошко «Выполнить» с запросом regedit, разверните реестр. Учтите, работа в реестре разрешена только опытным пользователем или тем, кто аккуратно выполняет все нижеописанные шаги. Изменение не тех файлов приведёт к тому, что система перестанет работать, поэтому внимательно следите за своими действиями. Открываем приложение regedit
  2. Переходя по древу папок в левой части окна, окажитесь в разделе HKEY_CURRENT_USER\ Software\ Microsoft\ Windows NT\ CurrentVersion\ AppCompatFlags\ Layers. Начните создание строкового параметра: в название укажите путь до файла, запускающего приложение, а в значение — слово

RUNASADMIN. Создаем файл с путем до файла и значением

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

Как открыть командную строку с повышенным доступом

Командная строка нужна для выполнения команд, управляющих системой и изменяющих её свойства. Если открыть её без прав администратора, то некоторые запросы не будут доступны. Чтобы выполнить запуск от имени администратора, можно использовать любой вышеописанный способ.

Нажимаем на командную строку ПКМ и открываем ее с правами администратора

Например, пропишите запрос «Командная строка» в системной поисковой строке и кликните по результату правой клавишей мыши. Запускающий файл приложения называется cmd.exe. Зная его название, развернуть строку через диспетчер задач (данный метод описан выше в одноимённом пункте).

Видео: запуск командной строки от имени администратора

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

Оцените статью