Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] права администратора (http://forum.oszone.net/showthread.php?t=336586)

VladimirVVP 08-09-2018 05:46 2830506

права администратора
 
есть такой скрипт
Код:

@echo off
MD "%~dp0liteServerSQL"
move %~dp0sqlite.db %~dp0liteServerSQL\sqlite.db
net share liteServerSQL="%~dp0liteServerSQL"
icacls "%~dp0liteServerSQL" /grant:r %UserName%:F
cmd/c takeown /f "%~dp0liteServerSQL" /r /d y
pause>nul

мне нужно, что бы bat файл запускался с правами администратора, но с учетом того, что он будет запускаться на разных пк с ОС WIN 7, 8, 8.1, 10 и не всегда администратор будет под поролем..
если так не возможно, то на сколько я понимаю на саму папку тоже можно установить права администратора, эффект будет тот же..
Ярлык с правами администратора не подходит..
Помогите решить эту проблему...

YuS_2 08-09-2018 08:02 2830512

Цитата:

Цитата VladimirVVP
мне нужно, что бы bat файл запускался с правами администратора, но с учетом того, что он будет запускаться на разных пк с ОС WIN 7, 8, 8.1, 10 »

т.е. требуется автоматический запрос элевации прав UAC?
Код:

@echo off
rem прототип кода https://ss64.com/vb/syntax-elevate.html
rem Пакетник с элевацией прав и возможностью ввода параметров для основной программы
rem Тестовый запуск: <run.bat> или <%full_path%\run.bat  1 "2 3" "3" 4 5.1>
setlocal
>nul 2>&1 net session&&goto run
if /i "%~1"=="yes" goto run
if /i "%~1"=="" set "args=noparam"
set "file=%~f0"
set "args=%* %args%"
set file=""%file:"=%""
set args=%args:"=""%
>"%temp%\uac.vbs" echo set objShell=CreateObject^("Shell.Application"^)
>> "%temp%\uac.vbs" echo objShell.ShellExecute "cmd", "/c ""%file% ""yes"" %args%""", , "runas", 1
cscript /nologo /e:vbscript "%temp%\uac.vbs"
exit /b

:run
>nul 2>&1 del "%temp%\uac.vbs"
cd /d "%~dp0"
title %cd%
shift
if "%~1"=="noparam" shift

rem Тестовый блок проверки параметров [в боевых условиях блок можно уничтожить]
echo.param_full=[%*]        - [test_param %%*]
echo.param_1=[%1]                        - [test_param %%1]
echo.param_2=[%2]                        - [test_param %%2]
echo.param_3=[%3]                        - [test_param %%3]
echo.param_4=[%4]                        - [test_param %%4]
echo.param_5=[%5]                        - [test_param %%5]
rem ... и т.д.
rem Конец тестового блока

rem Место для основной программы. Текущий каталог = каталог запуска сценария.

echo Successfull! UAC unlock. Demo - this line remove...
pause


VladimirVVP 08-09-2018 10:18 2830524

ДА! СПАСИБО


Время: 05:29.

Время: 05:29.
© OSzone.net 2001-