Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/2527: Рейтинг темы: голосов - 2527, средняя оценка - 4.85
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Запуск скрипта с повышенными привилегиями [руководство]

20.10.2012, 17:40. Показов 537723. Ответов 74
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как запустить Batch-файл от имени Администратора (с повышенными правами).

Вариант 1) Правая кнопка мыши по Batch-файлу "Запуск от имени администратора".



Вариант 2) Сначала запустить командную строку (см. ниже), а в ней запустить на исполнение Batch-файл.
2
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2012, 17:40
Ответы с готовыми решениями:

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

Изменение рабочего каталога при запуске батника с повышенными привилегиями
C:\Users\adm>echo Рабочий каталог - C:\Users\adm Рабочий каталог - C:\Users\adm никакого system32

Запуск скрипта с привилегиями администратора
Здравствуйте. Создал службу windows 10. Она должна запускать скрипт Powershell. Но что-то не запускает. В чем проблема? Пользователь с...

74
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
04.05.2018, 20:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от GarfieldX Посмотреть сообщение
Проблема в доступе к ветке реестра HKEY_CURRENT_USER
получив туда доступ что не получается сделать дальше?
0
0 / 0 / 0
Регистрация: 18.04.2016
Сообщений: 7
04.05.2018, 20:21
Дело не в доступе, а в расположении. Для каждого пользователя HKEY_CURRENT_USER свой.
Это как, например, %appdata% - попробуйте по такой относительно ссылке попасть в аналогичную папку другого пользователя.

Т.е. никаких чудес. Есть пользовательская учетка из под которой происходит работа, есть админская учетка на том же компе. При запуске скрипта нужно чтобы в том числе прописались некоторые настройки в обозначенной ветке реестра и выполнились определенные действия для которых требуются админские права. При этом если запускать от имени админа, то весь скрипт будет выполнятся с учетом этого.
Пока что назрел вариант как то проверять права доступа, если нужно, то генерить некий bat-ник с добавлением юзера в группу Администраторы, потом запускать основной скрипт уже от имени юзверя, затем убирать его из группы. Но это как кривоватенько получается. Если что не так, то юзер так и останется в админах. Хотелось бы просто повышение полномочий текущего пользователя в рамках сессии выполнения скрипта. Т.е. запросил повышение, ввел данные аккаунта, которые это позволяют и продолжил под текущим юзверем.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
04.05.2018, 20:45
Цитата Сообщение от GarfieldX Посмотреть сообщение
попробуйте по такой относительно ссылке попасть в аналогичную папку другого пользователя
Windows Batch file
1
2
3
4
5
6
@echo off
call set "spath=%%appdata:%username%=Vasya%%"
pushd "%spath%"
 echo код
popd
pause
Добавлено через 2 минуты
естественно под админом, а имена могу в цикле перебрать, подставлять и заходить в каждую по очереди - это ведь надо.
0
0 / 0 / 0
Регистрация: 18.04.2016
Сообщений: 7
04.05.2018, 21:38
Неудачный пример получился. Забыл что так можно.
Но как обратиться из vbs к упомянутой ветке реестра другого пользователя так и не нашел.
По сути только в одном месте скрипта закавыка...
0
0 / 0 / 0
Регистрация: 18.04.2016
Сообщений: 7
10.05.2018, 16:29
В общем вариантов решений было два:
1. Повысить права конкретного юзера и спокойно выполнять скрипт под его учеткой. Именно повысить права, похоже, не возможно. Была мысль сначала добавлять юзера в группу "Администраторы" (если его там нет), вызывать скрипт, убирать юзера из группы. С точки зрения здравого смысла не так все плохо, ведь исходим из того, что пользователь и админ - одно лицо, которое работает под обычной учеткой. Но тем не менее, все равно не аккуратненько как то. Мало ли, вдруг в это же время какая то фигня случится, а тут полные права у пользователя.
2. Переделать скрипт чтобы работать с реестром и прочими папками связанными с заданным пользователем. Так и сделал. При запуске через bat-ник генерится скрипт vbs для запроса админских прав (ShellExecute runas) и в качестве параметра передается имя запустившего пользователя. Где лежат HKEY_CURRENT_USER тоже удалось найти.
0
12 / 18 / 2
Регистрация: 02.11.2015
Сообщений: 222
03.08.2018, 17:31
Подскажите пожалуйста, как запустить bat-скрипт через ярлык?

У меня есть скрипт C:\scripts\file.bat и ярлык на него C:\scripts\file.bat.lnk в котором указано "Запуск от имени администратора". Как можно запустить батник используя ярлык? Сейчас если выполнить команду
Bash
1
C:\scripts\file.bat.lnk
возвращает:
Bash
1
2
'S:\apache\bin\restart.bat.lnk' is not recognized as an internal or external command,
operable program or batch file
Добавлено через 10 минут
для решения задачи в принципе достаточно и запуска самого C:\scripts\file.bat от Имени Администратора. Скажем в интернете предлагают использовать RUNAS
Bash
1
runas /user:%computername%\%username% C:\scripts\file.bat
Однако такая команда требует ввода пароля, а у меня он в системе не установлен. Нажатие Enter не помогает
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
03.08.2018, 19:33
Цитата Сообщение от Eskander88 Посмотреть сообщение
Как можно запустить батник используя ярлык?
как и любую программу:
ПКМ по bat - создать ярлык, в свойствах ярлыка поставить галку запуска от имени админа и стандартно ЛКМ по ярлыку, это же прописные истины работы пользователя даже не имеющие отношения к программированию.
0
12 / 18 / 2
Регистрация: 02.11.2015
Сообщений: 222
03.08.2018, 19:49
Цитата Сообщение от alpap Посмотреть сообщение
как и любую программу:
ПКМ по bat - создать ярлык, в свойствах ярлыка поставить галку запуска от имени админа и стандартно ЛКМ по ярлыку, это же прописные истины работы пользователя даже не имеющие отношения к программированию.
я не слепой.. такой же ответ в заголовке темы... меня интересует программный способ... да и какой вообще тогда смысл в скриптах и автоматизации, когда сидишь и в ручную тыкаешь, хотя для данной задачи я бы согласился и на всплывающее окно UAC для подтверждения..

я не могу запустить кликом мыши потому, что мне нужно выполнить скрипт в другой программе с поддержкой технологии WSH, которая может запустить что-нибудь на ПК вроде Win+R

но как ей передать команду, чтобы запустить .lnk-файл?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
03.08.2018, 21:28
Eskander88
создавать ярлыки bat не умеет и тогда есть смысл оставить его в покое в пользу чего-то более подходящего для данной задачи.
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
03.08.2018, 22:41
Eskander88
Не улавливаю логики. Что ярлык, что батник — суть одна, сделал один раз и пользуйся до бесконечности. При чём тут автоматизация?
И какой смысл запускать скрипт из сценария, если можно всё в скрипте сделать?
0
12 / 18 / 2
Регистрация: 02.11.2015
Сообщений: 222
04.08.2018, 08:26
Цитата Сообщение от FlasherX Посмотреть сообщение
Не улавливаю логики. Что ярлык, что батник — суть одна, сделал один раз и пользуйся до бесконечности. При чём тут автоматизация?
И какой смысл запускать скрипт из сценария, если можно всё в скрипте сделать?
ну как же... в ярлыке же пометка, что скрипт "запустить от Имени Администратора".. а сами батники понятное дело можно запустить прямой командой вроде:
Bash
1
cmd.exe /k "C:\file.bat"
но часть инструкции требуют повышения привелегий.. на сам батник нельзя повесить какую-то пометку, что он доверенный и можно запускать без ограничений (ну может быть где-то глубоко в реестре или secpol.msc , gpedit.msc - мне неизвестно..)
так то хоть понятно?
1
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
04.08.2018, 08:44
Не особо. Я задал два вопроса. Не могу понять, на какой из них отвечено и отвечено ли вообще.

Плюс к ним: "другой программе с поддержкой технологии WSH" — это не про wscript/cscript? А про что? Не о скрипте речь?
0
12 / 18 / 2
Регистрация: 02.11.2015
Сообщений: 222
04.08.2018, 08:59
а вы можете ответить на такой вопрос: что написать в bat-файле по пути C:\file.bat (можно .vbs ), чтобы можно было выполнить произвольные bat-инструкции в режиме "от имени Администратора"?

При условии, что этот файл будет открываться автоматически другой программой путём генерации команды к оболочке системы. Эти события создаваемые программой полностью эквивалентны набронному
Bash
1
cmd.exe /k C:\file.bat
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
04.08.2018, 09:19
Варианты записей из bat разобраны на первой странице.
А что касаемо ярлыка, то стоило перед путём к батнику %ComSpec% /c прописать.
Цитата Сообщение от Eskander88 Посмотреть сообщение
этот файл будет открываться автоматически другой программой путём генерации команды к оболочке системы
Тогда запускайте эту программу тоже от админа.
1
12 / 18 / 2
Регистрация: 02.11.2015
Сообщений: 222
04.08.2018, 09:58
здорово когда тебя понимают.. а про элевацию в начале через JS/VBS сценарии тоже смотрел, но там не разобрался и есть сложности с подстановкой своих bat-команд
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.08.2018, 17:30  [ТС]
Цитата Сообщение от Eskander88 Посмотреть сообщение
что написать в bat-файле по пути C:\file.bat (можно .vbs ), чтобы можно было выполнить произвольные bat-инструкции в режиме "от имени Администратора"?
Это можно сделать с помощью задания. Только у вас будут весьма большие ограничения:
- нельзя синхронизировать процессы
- нельзя наследовать переменные среды (хотя вы сможете передать аргумент для команды)
- нельзя получить код возврата

Если вам такое подходит:

Создаёте новую папку, работаете в ней:
- создаёте и запускаете с админ. полномочиями такой батник:
Windows Batch file
1
schtasks.exe /create /tn "AdminHost" /SC ONCE /ST 00:00 /F /RL HIGHEST /tr "\"%~dp0AdminHost.cmd\" $(Arg0)"
- создаёте батник AdminHost.cmd с таким содержанием:
Windows Batch file
1
2
3
@echo off
SetLocal EnableExtensions
%*
(можно добавить в конец pause)
- создаёте admin.vbs с таким содержимым:
Visual Basic
1
2
3
4
5
6
7
8
For i = 0 to WScript.Arguments.Count - 1
    strCom = strCom & " " & WScript.Arguments(i)
Next
set TaskScheduler = CreateObject("Schedule.Service")
TaskScheduler.Connect()
set ScheduledTaskFolder = TaskScheduler.GetFolder("\")
set ScheduledTask = ScheduledTaskFolder.GetTask("AdminHost")
call ScheduledTask.Run(strCom)
- создайте рабочий батник Work.cmd, например, с таким содержимым:
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
:: Run user-level command
whoami /priv
 
:: Rum admin-level command
cscript.exe admin.vbs whoami /priv
 
pause
и запустите его.
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
12.02.2019, 23:21
Цитата Сообщение от Dragokas Посмотреть сообщение
Через JScript-вставку без создания вспомогательного файла:
А можно для непрошаренных объяснить как оно работает? Батники знаю, а JScrips хз
0
1 / 1 / 1
Регистрация: 13.02.2012
Сообщений: 43
27.06.2019, 12:55
Всем привет.
У меня подобная задача, которую я до сих пор не смог разрулить.
У меня виндовс 7.
Есть Админская учетка: admin pas=1234
Есть Юзерская учетка: user без пароля.
Вход автоматом в юзерскую.

Ползунок ограничения прав юзеру стоит на максимуме (вверху).
Если юзер что-то хочет установить или создать ЗАДАЧУ и т.д., ему нужно запускать приложение "ОТ ИМЕНИ АДМИНИСТРАТОРА"
Тоесть с повышенными правами.
Например находясь в аккаунте ЮЗЕРА для создания ЗАДАЧИ в планировщике нам нужно:
1. запустить CMD от "ОТ ИМЕНИ АДМИНИСТРАТОРА" - это правой кнопкой мышки.
2. затем в этой консоли можно творить чудеса и создавать ЗАДАЧИ и прочее.

Но если мы запустим просто CMD и в нем создадим окно CMD от имени админа: echo 1234|RUNAS /netonly /user:admin cmd
-- это нам ничего не даст, тут нет повышенных прав
я не смогу создать в планировщике задания для АДМИНА.
Я не смогу создать другого АДМИНА и т.д.
-------------------------------------------------------------
пробовал стороннюю утилиту: psexec.exe
d:\psexec.exe -u admin -p 1234 "d:\create_adm.bat"
- она так же не работает, потому как не достаточно прав. тоесть права нужно повысить, но как ????

Вобщем сам вопрос:
Как написать CMD или VBS чтоб в ЮЗЕРСКОЙ учетке я его запустил и этот скрипт смог мне создать ЗАДАНИЕ в планировщике от имени АДМИНА или СИСТЕМЫ ? либо Создал бы мне новую АДМИНСКУЮ УЧЕТКУ, которую я хочу сделать для всех тачек своей сети одинаковой на будущее.
Есть ли такая возможность в виндовсе ?
0
1 / 1 / 1
Регистрация: 13.02.2012
Сообщений: 43
27.06.2019, 13:01
Вот такое окно имеет повышенные права
Миниатюры
Запуск скрипта с повышенными привилегиями [руководство]  
0
6 / 8 / 2
Регистрация: 20.12.2012
Сообщений: 748
05.07.2019, 19:24
Здравствуйте.
Не подскажете, как в Windows XP получить привелегии для операций с реестром в BAT файле?


Когда вручную делаю через regedit, то достаточно установить права в окне "Разрешения", а как это в батнике сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2019, 19:24

Почему эта программа запускается с повышенными привилегиями?
Ресурса #24 нет, слой совместимости тоже не прописан, так откуда тогда знак щита? Как это у меня получилось, честно говоря не знаю )) ...

Запуск планировщика с повышенными правами
Добрый день всем. Имеется Windows Server с установленной службой, которая управляет электронными шкафами. Эту службу нужно перезагружать...

Запуск приложения с разными привилегиями
Подскажите вот я научился запускать процесс из под администратора processInfo.Verb = "runas" как пример ну еще посмю можно менять...

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

Запуск скрипта для анализа папки и запуска другого скрипта
Мне нужно написать скрипт, который каждую секунду (или 5 сек) сканировал определенную папку на поиск определенного файла. Например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний против массовых профанаций
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru