Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
CMD/BAT Настройка доступа к сетевой папке Подскажите как настроить доступ к папке/файлу через командную строку. Т.е. например разрешить чтение, но запретить изменение. Находил через icacls, но преподаватель у универе хочет через службы... https://www.cyberforum.ru/ cmd-bat/ thread964866.html CMD/BAT Выполнение команды при заданном условии
Кому-нибудь возможно поднадоел уже.))) Среда XPE. При загрузке на панели быстрого запуска по-умолчанию красуется ярлык (не важно какой). Единственный доступный мне способ избавиться от него -...
CMD/BAT Как задать часовой пояс в винде из батника? https://www.cyberforum.ru/ cmd-bat/ thread964571.html
Как задать часовой пояс в винде из батника?
CMD/BAT Формирование ежемесячного отчета об изменениях в рабочем каталоге (измененные файлы) https://www.cyberforum.ru/ cmd-bat/ thread964507.html
Ребят помогите пожалуйста.Нужно очень! Разработать командный файл, который формировал бы ежемесячный отчет об изменениях в рабочем каталоге (файлы измененные).
CMD/BAT Создание папки с текущими датой и временем в имени с использованием контекстного меню
Приветствую форумчане. Такой вопрос: как реализовать корректно ? К примеру, если *.cmd файл с командой md %cd%\%date:~6,4%-%date:~3,2%.%date:~0,2% прикрутить к контекстному меню , то папка...
CMD/BAT Как разрезать один текстовый файл на несколько по шаблону? Есть один текстовый файл (file.txt) в котором заключена информация на несколько html-файлов. Примерно такой: ------------------------------------------- <html> <title>1</title> <body>... https://www.cyberforum.ru/ cmd-bat/ thread963910.html
CMD/BAT Постраничный вывод на экран содержимого нескольких текстовых файлов, заданных как параметры командного файла https://www.cyberforum.ru/ cmd-bat/ thread963865.html
2. создать командный файл, который обеспечивает постраничное отображение на экране дисплея нескольких текстовых файлов, спецификация которого задана как параметр командного файла. Для перехода от...
Вывод на экран дисплея содержимого нескольких текстовых файлов, заданных как параметры командного файла CMD/BAT
1.создать командный файл, обеспечивает вывод на экран дисплея какого либо текстового файла, спецификация которого задана как параметр командного файла. после демонстрации работы созданного командного...
CMD/BAT Удаление и установка ПО скритпом групповой политикой при включении или выключении ПК https://www.cyberforum.ru/ cmd-bat/ thread963539.html
Написал батник который должен проверять при включении пользовательский комп на наличие 7-zip и удалять его если х64 версия ОС, если х86 - писать в лог для ручного удаления впоследствии. Также батник...
CMD/BAT Копирование папок, имена которых начинаются с определённого сочетания символов https://www.cyberforum.ru/ cmd-bat/ thread962821.html
Добрый день! Есть папка Main, а в ней много папок. А есть папка Target Нужно скопировать из папки Main в папку Target все папки (и файлы в них), названия (папок) которых начинаются с type1
Подскажите книгу или другой источник, где можно найти достойную информацию о командах cmd.exe CMD/BAT
Здраствуйте,подскажите пожалуйста книгу,или где можно найти достойную информацию,о командах оболочки ОС (cmd.exe).Заранее благодарен.
CMD/BAT Разархивирование Здравствуйте. Помогите, плиз. Есть папка D:\RAR. в ней много архивов. Как разархивировать их в папку D:\UNRAR, чтобы на каждый архив создавалась папка с таким же именем и туда разархивировалось... https://www.cyberforum.ru/ cmd-bat/ thread962438.html
Эксперт WindowsАвтор FAQ
17817 / 7553 / 889
Регистрация: 25.12.2011
Сообщений: 11,300
Записей в блоге: 17
30.12.2012, 03:49  [ТС] 0

Запуск скрипта с повышенными привилегиями [руководство] - CMD/BAT - Ответ 3934558

30.12.2012, 03:49. Показов 280839. Ответов 74
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Элевация прав запуска BAT-файла (отображается диалог контроля учетных записей UAC)
Код: Dragokas

В ОС Windows Vista/7/8... запись в системные папки (такие как Windows, System32, корень диска C: ), запись в реестр (например, в улей HKLM) требует прав администратора.

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

1) Через JScript-вставку без создания вспомогательного файла:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@set @x=0; /*
@echo off
ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
pause
exit /B
 
:: Эту строку не трогать. Ниже ничего не писать!!!
*/new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
Из минусов обоих способов: батнику нельзя передавать аргументы запуска.


2) С использованием внешнего VBScript-сценария.

Приведенный пример создает временный VBS-скрипт, через который методом ShellExecute, verb - runas запускает повторно BAT-файл с повышенными правами.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
@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
)
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
pause
Комментарий к коду

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@echo off
 
:: Проверяем пустой ли первый аргумент
:: Это нужно, чтобы не запустить процесс элевации дважды.
:: Аргумент становится = 1, когда запускается команда [URL="http://ss64.com/vb/shellexecute.html"]ShellExecute[/URL]
 Имя скрипта, Аргумент, Рабочий каталог,Глагол,Режим отображения окна
if "%~1"=="" (
:: Сохраняем скрипт в файл Elevating.vbs, который находится в папке %~dp0, т.е. рядом с батником
::Параметры такие: 
::Имя скрипта - передано аргументом из cscript.exe (см.строку кода ниже)
::Аргументы: 1 - аргумент для бат-файла, чтобы не запустить элевацию дважды
::Рабочий каталог: "" - по умолчанию, текущий.
::Глагол (verb): runas - запуск от имени Администратора.
::Режим отображения окна: 1 - Normal (обычные режим. Окно отображается).
  Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"1","","runas",1 >"%~dp0Elevating.vbs"
:: Запускаем сервер сценариев без отображение сведений о нем (//nologo), запускаем Elevating.vbs с аргументом = имени бат-файла с путем
  cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"& Goto :eof
)
 
:: Удаляем Elevating.vbs
>nul del "%~dp0Elevating.vbs"
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
:: Переходим в каталог с бат-файлом
:: При выполнении повышения прав рабочий каталог бат-файла автоматически сменяется на %windir%\system32
chdir /d "%~dp0"
 
::Пытаемся записать пустой файл в корень системного раздела
cd.>c:\test.log
 
::Если записанный файл существует - пишем ОК, то есть повышение прав удалось успешно.
if exist c:\test.log Echo OK.
 
 
pause


3) С использованием mshta (способ от ComSpec):

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
reg.exe query "HKU\S-1-5-19">nul 2>&1
if %errorlevel% equ 1 goto UACPrompt
 
::
:: <--- Здесь код Вашей основной программы
::
 
pause>nul
exit /b
 
 
:UACPrompt
mshta "vbscript:CreateObject("Shell.Application").ShellExecute("%~fs0", "", "", "runas", 1) & Close()"
exit /b

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




Start Admin Console.cmd
Запускает новое окно консоли с повышенными правами и переходит в папку, где сам находится
Ожидает ввода команд от пользователя.

Bash
1
2
3
4
5
6
7
8
9
10
@set @x=0; new ActiveXObject('Shell.Application').ShellExecute ('cmd.exe','/K ' + '"' + WScript.ScriptFullName + '"' + ' Admin','','runas',1);/*
@echo off
if "%~1" neq "Admin" (
  cscript.exe //nologo //e:jscript "%~f0"
) else (
  cd /d "%~dp0"
)
exit /B
 
*/


Вернуться к обсуждению:
Запуск скрипта с повышенными привилегиями [руководство] CMD/BAT
15
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2012, 03:49
Готовые ответы и решения:

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

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

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

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

74
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2012, 03:49
Помогаю со студенческими работами здесь

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

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

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

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru