A volte è necessario creare un file batch che includa comandi che richiedono diritti elevati. A causa della funzione UAC inclusa in Windows a partire 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 menu contestuale. Ecco come creare un file batch che si eleverà automaticamente.
Pubblicità
Prima di continuare, vedi come aggiungere un file batch (* .bat) al menu Nuovo di Esplora file . Posiziona il seguente contenuto all'inizio del file batch:
quando esce l'anziano scorre 6?
:::::::::::::::::::::::::::::::::::::::::: :: Controlla e recupera automaticamente diritti di amministrazione V2 ::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Esecuzione della shell di amministrazione ECHO =============== ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' per %% 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 Esegui la shell come amministratore (esempio ) - inserisci qui il codice che 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 richiede di elevare i privilegi prima che esegua i suoi comandi!
Ecco come appare in Windows 10:
I crediti per questo codice vanno a opaco .