Parfois, vous devez créer un fichier de commandes contenant des commandes nécessitant des droits élevés. En raison de la fonction UAC incluse dans Windows depuis Windows Vista, lors du démarrage d'un fichier de commandes, il s'ouvre sans les droits d'accès requis, sauf si vous cliquez dessus avec le bouton droit et sélectionnez «Exécuter en tant qu'administrateur» dans le menu contextuel. Voici comment créer un fichier batch qui s'élèvera automatiquement.
Publicité
Avant de continuer, voyez comment ajouter un fichier batch (* .bat) au nouveau menu de l'explorateur de fichiers . Placez le contenu suivant au début de votre fichier de commandes:
Snapchat cómo hacer una captura de pantalla sin que ellos lo sepan
::::::::::::::::::::::::::::::::::::::::::: :: Vérifier et obtenir automatiquement droits d'administrateur V2 :::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================== ECHO Running Admin shell ECHO ================ ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' pour %% k dans (% 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 Invocation de l'UAC pour l'escalade de privilèges ECHO **** ********************************** ECHO Set UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO pour chaque strArg dans WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Suivant >> '% vbsGetPrivileges%' ECHO UAC.ShellExecute '! BatchPath!', Args, '', 'runas', 1 >> '% vbsGetPrivileges%' '% SystemRoot% System32 WScript.exe' '% vbsGetPrivileges % '% * exit / B: gotPrivileges setlocal & pushd. cd / d% ~ dp0 si '% 1' == 'ELEV' (del '% vbsGetPrivileges%' 1> nul 2> nul & shift / 1) :::::::::::::::: :::::::::::: :: START ::::::::::::::::::::::::::: REM Exécuter shell en tant qu'administrateur (exemple ) - mettez ici le code comme vous le souhaitez ECHO% batchName% Arguments:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Placez vos propres commandes par lots qui nécessitent une élévation sous la dernière ligne.
Le code fourni créera un fichier VBS spécial qui le redémarrera s'il ne s'exécute pas en tant qu'administrateur. Donc, si vous le lancez avec des autorisations limitées, vous obtiendrez une invite UAC vous demandant d'élever les privilèges avant d'exécuter ses commandes!
Voici à quoi cela ressemble dans Windows 10:
Les crédits pour ce code vont à Mat .