Created
October 19, 2017 05:31
-
-
Save rahman541/2e34262adaf1fb6251ff306e4dfb7215 to your computer and use it in GitHub Desktop.
Request UAC in Bat File
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:::::::::::::::::::::::::::::::::::::::::::: | |
:: Automatically check & get admin rights V2 | |
:::::::::::::::::::::::::::::::::::::::::::: | |
@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 | |
:::::::::::::::::::::::::::: | |
REM Run shell as admin (example) - put here code as you like | |
echo Execute elevated command here... | |
ECHO %batchName% Arguments: %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
cmd /k |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment