Windows Tips & News

Come elevare automaticamente un file batch per eseguirlo come amministratore

click fraud protection
CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema

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 creare un file batch che si eleverà automaticamente.

Annuncio


Prima di continuare, guarda come aggiungere un file batch (*.bat) al nuovo menu di Esplora file. Inserisci il seguente contenuto all'inizio del 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:File batch di Windows 10

Richiesta UAC del file batch di Windows 10

Windows 10 eleva automaticamente un file batchI crediti per questo codice vanno a opaco.

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

Microsoft Edge Chromium riceve il pulsante della barra degli strumenti dei preferiti

Questo sito utilizza i cookie per migliorare la tua esperienza durante la navigazione nel sito. D...

Leggi di più

Archivi di Windows 10 build 16188

Questo sito utilizza i cookie per migliorare la tua esperienza durante la navigazione nel sito. D...

Leggi di più

Windows 10 Build 20152 (canale di sviluppo/anello veloce)

Windows 10 Build 20152 (canale di sviluppo/anello veloce)

Lascia un commentoMicrosoft ha rilasciato Windows 10 Insider Preview Build 20152 agli Insider sul...

Leggi di più