Lorsque j'utilise le Planificateur de tâches GUI, je peux facilement vérifier le " exécuter avec les privilèges les plus élevés "case à cocher.
Cependant, je n'ai trouvé aucune option de ce type dans la ligne de commande SchTasks .
Est-il possible de le faire à partir de la ligne de commande?
C'est ce que l'option /RL fait.
Exemple: SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST
/RL level
Définit le niveau d'exécution du travail. Les valeurs valides sont LIMITED
et HIGHEST
. La valeur par défaut est LIMITED
.
Pour ajouter à la réponse de @ Skatterbrainz: Si vous exécutez la même commande/script sous XP/2003, en spécifiant/RL, SchTasks.exe ne parviendra pas à créer la tâche.
Vous pouvez créer un script qui fonctionnera sous XP, 2003, Vista, 2008, 7, 2008R2, etc. en extrayant la version du système d'exploitation du registre. Un script de lot pourrait ressembler à ceci:
setlocal set runlevel = REM Obtenir la version du système d'exploitation du registre pour/f "tokens = 2 *" %% i in (' Requête reg.exe "HKLM\LOGICIEL\Microsoft\Windows NT\CurrentVersion"/v "CurrentVersion" ') définit os_ver = %% j REM Définit le niveau d'exécution (pour Vista ou version ultérieure - version 6) if/i "% os_ver: ~, 1%" GEQ "6" set runlevel =/rl HIGHEST. REM Exécutez SchTasks.exe . schtasks.exe/create/tn "Nom de la tâche"/sc ONSTART/TR "C:\Scripts\somescript.cmd"/ru SYSTEM% runlevel%