Como usar um Script com direitos de administrador


Última atualização em 5 de Março, 2021 por Vítor Fernandes.

O batch é um ficheiro de texto que contém linhas com código que pode ser executado sequencialmente pelo interpretador de comandos do MS-DOS ou Windows. Eles são identificados pelas extensões .bat ou .cmd.
wikipedia

Coloca o código abaixo a seguir a @echo off

Isto solicitará direitos de permissão de administrador após a execução do script. Fantástico, não achas?

> nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (
    goto AbrirUAC
) else ( 
    goto AbrirBatch
)

:AbrirUAC
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\privilegio.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\privilegio.vbs"
"%temp%\privilegio.vbs"
exit /b 0

:AbrirBatch
if exist "%temp%\privilegio.vbs" ( 
    del "%temp%\privilegio.vbs" 
)
pushd "%cd%"
cd /d "%~dp0"