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

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

20.10.2012, 17:40. Показов 534717. Ответов 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
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.07.2019, 19:31  [ТС]
Студворк — интернет-сервис помощи студентам
regini
1
6 / 8 / 2
Регистрация: 20.12.2012
Сообщений: 731
14.07.2019, 00:22
Dragokas, На новых версиях (7ка и выше) тоже будет работать?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
14.07.2019, 00:43  [ТС]
На 7 работало, как на 10 не знаю.
Доп. инфа:
Тонкости языка, редкие команды и сложные скрипты

Если не хватит функционала из коробки, то есть еще отдельные утилиты:
subinacl
setacl
1
6 / 8 / 2
Регистрация: 20.12.2012
Сообщений: 731
14.07.2019, 01:01
Цитата Сообщение от Dragokas Посмотреть сообщение
Если не хватит функционала из коробки
Пока хватает, благодарю.
0
2 / 2 / 0
Регистрация: 21.02.2020
Сообщений: 1
24.02.2020, 12:25
Столкнулся с таким вопросом. Нашел идеальное решение. Моя затея заключалась в том что бы динамически обновлять фалы на двух носителях. Фактически постоянное копирование при очередном изменении файлов. запускать соответственно постоянно я это не хотел, но и маячить на экране тоже не к чему, написал батник запихал в планировщик от имени системы. результат, операция выполняется, окна не видно, ни в панели задач, ни в трее, ни в запущенны процессах, не в фоновых задачах нигде не светится.
ВАЖНО установить запуск от имени системы в свойствах задания в планировщике
Миниатюры
Запуск скрипта с повышенными привилегиями [руководство]   Запуск скрипта с повышенными привилегиями [руководство]   Запуск скрипта с повышенными привилегиями [руководство]  

2
6984 / 2875 / 1105
Регистрация: 06.06.2017
Сообщений: 9,764
24.02.2020, 13:05
Nikolas211, один из ряда примеров с schtasks.
0
0 / 0 / 0
Регистрация: 17.06.2020
Сообщений: 4
17.06.2020, 07:58
Друзья, нужна помощь экспертов. Реализовал запуск проводника (на ограниченной учетке) через runas (ярлык с командой) но тут такая фигня так сказать, я запускаю его от администратора но не локального а от пользователя входящего в группу администраторы, проводник запускается но он глючит (например при создании папок или файов они появляются только после F5). Если я запускаю проводник нажимая правую кнопку и выбираю запустить от администратора и ввожу те же данные что использует runas то проводник запускается без всяких глюков. Я так подразумеваю что есть разница между запуск от Администратора и запуск учетки которая входит в группу администраторы, во втором случае мне кажется привилегия ниже чем в первом, кто подскажет как эти привилегии увеличить.

P/S когда я открываю подобным образом CMD то в первом случае у меня окно открывается с пометкой Администратор:командная строка во втором просто командная строка. trustlevel в обоих окнах одинаковый.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
17.06.2020, 11:19  [ТС]
Проводник по дизайну не предназначен для работы в режиме повышенных привилегий и его стабильная работа в этом случае не гарантируется.
В нём даже встроена защита и при попытке запустить его так, в Win10 он обычно понижает привилегии обратно (можете проверить через Process Hacker столбец UAC или список прав в свойствах). M$ даже в какое-то время на Win10 специальную задачу добавляла в планировщик ради такого поведения, но потом перенесла эту фичу в сам бинарь.

Цитата Сообщение от invademan Посмотреть сообщение
Реализовал запуск проводника (на ограниченной учетке) через runas (ярлык с командой)
Через утилиту runas? Покажите команду.
Цитата Сообщение от invademan Посмотреть сообщение
Если я запускаю проводник нажимая правую кнопку и выбираю запустить от администратора и ввожу те же данные...
Если вы залогинены в учетку, находящуюся в группе Администраторов, окно ввода логина/пароля по идее вообще не должно появляться.
0
0 / 0 / 0
Регистрация: 17.06.2020
Сообщений: 4
17.06.2020, 12:12
Dragokas,

C:\Windows\System32\runas.exe /noprofile /savecred /env /user:qqq\admin000 "explorer.exe"

Я залогинен в учетке доменной без прав администратора. Я запускаю runas от учетки которая входит в группу администраторы.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
17.06.2020, 14:47  [ТС]
Понятно тогда.
Мое предположение: runas и пр. утилиты вроде PsExec, они создают процесс с новым токеном пользователя, вместо того чтобы брать токен уже залогиненного пользователя. И для функционирования проводника это имеет значение.

Я как-то тоже с похожим столкнулся, когда нужно было монтировать шары от имени конкретного юзера. Все прекрасно создавалось и работало, но изменения не передавались реальному юзеру. Ничего другого не нашел кроме как писать легитимный бекдор на стороне юзера, который слушает изменения в папке и уже реально исполняет от имени того юзера нужный файл.
0
0 / 0 / 0
Регистрация: 17.06.2020
Сообщений: 4
17.06.2020, 14:52
возможно можно как-то эмулировать нажатие - Запустить от администратора, сторонние утилиты как то с этим справляются. может через повершел или еще как. есть идеи?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
17.06.2020, 15:03  [ТС]
Сэмулировать нажатие то можно, а вот со вводом логина/пароля боюсь не получится в виду особых мер защит у винды.

Если я прав, и причина в разных токенах, то можно украсть такой токен у уже запущенного пользователем процесса с
нужными правами, и с этим токеном запустить ваш процесс. Подобное сделано в утилите TrustedFix (TrustedShell) на языке AutoIt, только там повышаются права от Admin до Local System, а вам нужен просто полный токен Admin. Предвидя вопрос - сделать смогу, как будет больше времени.
0
0 / 0 / 0
Регистрация: 01.08.2020
Сообщений: 61
06.08.2020, 00:17
Подскажи пожалуйста!
ты написал: ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
У меня такие 2 вопроса:
1) "%~1"=="" - то есть удаление кавычек и расширение до пути нахождения cscritp? Но а чему присвоено значение ==""?
2) "%~f0" - в теории замена %0 на полный путь, а тут догнать не могу
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.08.2020, 00:42  [ТС]
Цитата Сообщение от WerX Посмотреть сообщение
1) "%~1"=="" - то есть удаление кавычек и расширение до пути нахождения cscritp? Но а чему присвоено значение ==""?
%1 - 1-й аргумент
== сравнение
Команда проверяет, что батник запускается первый раз.
Цитата Сообщение от WerX Посмотреть сообщение
2) "%~f0" - в теории замена %0 на полный путь
Да.
1
0 / 0 / 0
Регистрация: 01.08.2020
Сообщений: 61
06.08.2020, 06:38
Цитата Сообщение от Dragokas Посмотреть сообщение
%1 - 1-й аргумент
== сравнение
Команда проверяет, что батник запускается первый раз.

Да.
Спасибо!
0
0 / 0 / 0
Регистрация: 06.09.2020
Сообщений: 9
25.03.2021, 12:24
HELP!
Нужно добавить ключ в реестр в Win 10 LTSC

Если запускаю батник key_reg_bat.bat с этим кодом, то ключ добавляется:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
 
:: <--- Повышаем права
 
ver |>NUL find /v "5." && if "%~1"=="" (
  Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"1","","runas",1 >"%~dp0Elevating.vbs"
  cscript.exe //nologo "%~dp0Elevating.vbs" "%~f0"& goto :eof
)
 
:: <--- Добавляем в реестр ключ
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /v "AllowAllTrustedApps" /d 1 /f
Но если это батник запускаю из вот такого VBS скрипта run_key_reg_bat_vbs.vbs, то ключ в реестр НЕ добавляется

Visual Basic
1
2
3
Set WshShell = CreateObject("WScript.Shell")
cmds=WshShell.RUN("key_reg_bat.bat", 0, True)
Set WshShell = Nothing
А нужно именно запускать батник из другой программы/скрипта
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 24
07.08.2021, 12:57
Приветствую!
Я простой пользователь - батники чуть-чуть, а скрипты вообще никак.
Ребята, подскажите пожалуйста, самый короткий и простой путь, как сделать следующее:
после распаковки SFX архива запускается батник, который добавляет пункт в контекстное меню "Мой компьютер"... и вот, в открывающемся окне команд сообщается об успешном выполнении команд (добавления ключей реестра), но в результате в реестр ничего не добавляется. Если этот же батник просто запускаю, то запись в реестр происходит, а вот WinRAR SFX почему-то запускает его как-будто в виртуальной среде (в которой у него всё хорошо).

Вот часть кода моего батника:

Code
1
2
3
4
5
reg add "HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Охрана" /f
reg add "HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Охрана" /v "MUIVerb" /t REG_SZ /d "Охрана" /f
reg add "HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Охрана" /v "Position" /t REG_SZ /d "Middle" /f
reg add "HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Охрана" /v "Icon" /t REG_SZ /d "C:\Windows\Icon\XUS_PC_Lock.ico" /f
reg add "HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Охрана" /v "SubCommands" /t REG_SZ /d "" /f
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.08.2021, 13:44
или уберите кириллицу из батника или сохраните его в кодировке OEM 866.
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 24
07.08.2021, 14:33
alpap, батник у меня сохранён в кодировке OEM 866 (а здесь привёл пример на русском, чтобы кракозябры не отвлекали) - всё это не имеет значения, ведь если бы работало, то даже кракозябры добавлялись в реестр.
Примечательно то, что другие подобные батники из этого архива WinRAR SFX отрабатывают правильно, то есть ключи в реестр добавляются, только уже в другие ветки реестра. Думаю, что именно эта ветка реестра требует каких-нибудь дополнительных прав (хотя WinRAR SFX запускаю с теми же правами (пользователь - Администратор), как и просто запускаю эти батники, которые абсолютно все работают).

P.S. на всякий случай, у меня Win7sp1x64... УАК отключен... антивирусников нет... всё работает кроме выше указанного случая.
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 24
07.08.2021, 15:53
Сделал скриншот (см. вложение), на котором показываю:
1. создаю WinRAR SFX, который после разархивирования запускает батник, вносящий изменения в реестр
2. запускаю созданный WinRAR SFX, и в окне команд вижу сообщение об успешной операции
3. проверяю в контекстном меню - нужный пункт не появился
4. показываю содержимое батника, и запускаю этот батник - в контекстном меню нужный пункт появился
5. запускаю рег-файл, удаляющий запись из реестра, и соответственно удаляющий этот контекстный пункт
6. ещё раз запускаю WinRAR SFX, и убеждаюсь, что несмотря на то, что всё отработано без ошибок, пункт не появился.
Вложения
Тип файла: 7z 357159654.7z (6.76 Мб, 9 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2021, 15:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru