Script per eseguire un comando CMD come amministratore

Ci sono dei comandi che per essere eseguiti correttamente hanno la necessità di eseguire come amministratore, il classico esempio potrebbe essere quello di un riavvio di un servizio.

Per fare in modo che durante l’apertura di file BAT o CMD contenente il nostro script personale sia eseguito sempre come amministratore possiamo aggiungere prima dei nostri comandi questa stringa che genera un VB per la richiesta amministrativa.

@echo off

:: BatchGotAdmin
:-------------------------------------

REM  --> Verifica i permessi

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

if '%errorlevel%' NEQ '0' (

    echo Richiesta dei privilegi amministrativi...

    goto UACPrompt

) else ( goto gotAdmin )


:UACPrompt

    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

    set params = %*:"=""

    echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"

    del "%temp%\getadmin.vbs"

    exit /B


:gotAdmin

    pushd "%CD%"

    CD /D "%~dp0"

:--------------------------------------

echo.
Commenti (0)
Aggiungi un commento