PDA

Показать полную графическую версию : [решено] права администратора


VladimirVVP
08-09-2018, 05:46
есть такой скрипт
@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
мне нужно, что бы 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
ДА! СПАСИБО




© OSzone.net 2001-2012