mirror of
https://github.com/parasyte/alt64
synced 2024-11-02 08:15:07 -04:00
51 lines
1.4 KiB
Batchfile
51 lines
1.4 KiB
Batchfile
|
::::::::::::::::::::::::::::::::::::::::::::
|
||
|
:: Elevate.cmd - Version 2
|
||
|
:: Automatically check & get admin rights
|
||
|
::::::::::::::::::::::::::::::::::::::::::::
|
||
|
@echo off
|
||
|
CLS
|
||
|
ECHO.
|
||
|
ECHO =============================
|
||
|
ECHO Running Admin shell
|
||
|
ECHO =============================
|
||
|
|
||
|
:init
|
||
|
setlocal DisableDelayedExpansion
|
||
|
set "batchPath=%~0"
|
||
|
for %%k in (%0) do set batchName=%%~nk
|
||
|
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
|
||
|
setlocal EnableDelayedExpansion
|
||
|
|
||
|
:checkPrivileges
|
||
|
NET FILE 1>NUL 2>NUL
|
||
|
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
|
||
|
|
||
|
:getPrivileges
|
||
|
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
|
||
|
ECHO.
|
||
|
ECHO **************************************
|
||
|
ECHO Invoking UAC for Privilege Escalation
|
||
|
ECHO **************************************
|
||
|
|
||
|
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
|
||
|
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
|
||
|
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
|
||
|
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
|
||
|
ECHO Next >> "%vbsGetPrivileges%"
|
||
|
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
|
||
|
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
|
||
|
exit /B
|
||
|
|
||
|
:gotPrivileges
|
||
|
setlocal & pushd .
|
||
|
cd /d %~dp0
|
||
|
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
|
||
|
|
||
|
::::::::::::::::::::::::::::
|
||
|
::START
|
||
|
::::::::::::::::::::::::::::
|
||
|
@echo on
|
||
|
|
||
|
lxrun /uninstall /full
|
||
|
|
||
|
pause
|