Je travaille sur un petit script de traitement par lots qui élève les programmes Windows de base pour qu'ils s'exécutent en tant qu'administrateur.
Toutes les fonctions fonctionnent bien, mais j'ai rencontré un problème en essayant d'exécuter "regedit.exe".
Lorsque l'option 3 est sélectionnée dans le script et qu'elle doit exécuter regedit en tant qu'administrateur, j'obtiens une erreur:
740: l'opération demandée nécessite une élévation.
Voici le script:
echo off
cls
echo.
echo Start as admin:
echo /----------------\
echo # 1. CMD #
echo # 2. Task Manager#
echo # 3. Regedit #
echo # 0. Exit #
echo \----------------/
echo.
set /p run=
if %run%==1 (
set run="cmd"
)
if %run%==2 (
set run="taskmgr"
)
if %run%==3 (
set run="regedit"
)
if %run%==0 (
exit
)
runas /savecred /user:admin %run%
Y at-il une solution de contournement pour cela?
Je voudrais que cela fonctionne sans installer de programmes tiers, modifier le registre ou désactiver UAC.
la source
choice /?
. :)errorlevel
n'est plus définie1
car elle est exécutée dans une autre fenêtre. Existe-t-il un moyen de le redéfinir 1 s'il y a une faute de frappe dans l'entrée? (ce que je veux dire par là est: aucun numéro de choix ou commande CMD valide n'est donnée)la source
Peut-être que cela peut aider, ou peut - être commencer le lot entier en tant qu'administrateur peut aider, faire en créant un autre script batch contenant:
la source
RUNAS ERROR: Unable to run - ...\regedit.bat
-2147467259: Unspecified error
la source
/savecred
n'aura qu'à taper une fois et c'est tout.