Windows Tips & News

Come elevare automaticamente un file batch per eseguirlo come amministratore

click fraud protection
4 risposte

A volte è necessario creare un file batch che includa comandi che richiedono diritti elevati. A causa della funzione UAC inclusa in Windows da Windows Vista, quando si avvia un file batch, si apre senza i diritti di accesso richiesti a meno che non si faccia clic con il pulsante destro del mouse e si selezioni "Esegui come amministratore" dal contesto menù. Ecco come puoi creare un file batch che si eleverà automaticamente.

Prima di continuare, guarda come aggiungere un file batch (*.bat) al nuovo menu di Esplora file. Inserisci il seguente contenuto all'inizio del tuo file batch:

:: Controlla e ottieni automaticamente i diritti di amministratore V2. @eco spento. CLS. ECO. ECHO ECHO Esecuzione della shell di amministrazione. ECO :init. setlocal DisableDelayedExpansion. imposta "batchPath=%~0" per %%k in (%0) imposta batchName=%%~nk. imposta "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) ECO. ECO ************************************** ECHO che invoca UAC per l'escalation dei privilegi. ECHO **************************************** ECHO Set UAC = CreateObject^("Shell. Applicazione"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO Per ogni strArg in WScript. Argomenti >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Successivo >> "%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 Esegui shell come amministratore (esempio) - inserisci qui il codice come preferisci. ECHO %batchName% Argomenti: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Inserisci i tuoi comandi batch che richiedono l'elevazione sotto l'ultima riga.

Il codice fornito creerà un file VBS speciale che lo riavvierà se non è in esecuzione come amministratore. Quindi, se lo avvii con autorizzazioni limitate, riceverai un prompt UAC che ti chiederà di elevare i privilegi prima che esegua i suoi comandi!

Ecco come appare in Windows 10:

I crediti per questo codice vanno a opaco.

Specifica le app Android per mostrare le notifiche nell'app Il tuo telefono

Specifica le app Android per mostrare le notifiche nell'app Il tuo telefono

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più

Hai dimenticato la password di Windows 10? Modi semplici per ripristinarlo

Hai dimenticato la password di Windows 10? Modi semplici per ripristinarlo

Hai dimenticato la password dell'amministratore di Windows 10? Il tuo account è bloccato a causa ...

Leggi di più

Archivi del mouse di Windows 10

Come cambiare il pulsante principale del mouse a sinistra o a destra in Windows 10Per impostazion...

Leggi di più