web-dev-qa-db-fra.com

Comment spécifier "Exécuter avec les privilèges les plus élevés" dans SchTasks?

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?

21
WinWin

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

27
Skatterbrainz

/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.

5
Andrey

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%
3
abstrask