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

21

Lorsque j'utilise le planificateur de tâches de l' interface graphique , je peux facilement cocher la case " Exécuter avec les privilèges les plus élevés ".

Cependant, je n'ai pas trouvé une telle option dans la ligne de commande SchTasks .

Existe-t-il un moyen de le faire à partir de la ligne de commande?

WinWin
la source

Réponses:

27

C'est ce que fait l' option / RL .

Exemple: SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST

Skatterbrainz
la source
pouvons-nous l'utiliser pour chaque version de Windows (de XP à 7 ou 8, y compris Windows Server 2008)?
Rolf
Pas pour Windows XP, selon Microsoft ( microsoft.com/resources/documentation/windows/xp/all/proddocs/… ), notez également les commentaires «cette option n'est pas disponible» pour (XP et WinServer 2003) sur msdn.microsoft .com / fr-fr / library / windows / desktop /…
Skatterbrainz
@Rolf consultez ma réponse pour un petit script, qui fonctionnera à la fois sur XP / 2003 et Vista / 2008 (ou supérieur)
résumé le
5

/RL levelDéfinit le niveau d'exécution du travail. Les valeurs valides sont LIMITEDet HIGHEST. La valeur par défaut est LIMITED.

Andrey
la source
3

Pour ajouter à la réponse de @ Skatterbrainz: Si vous exécutez la même commande / le même 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 batch pourrait ressembler à ceci:

setlocal
set runlevel =

REM Obtenir la version du système d'exploitation à partir du registre
for / f "tokens = 2 *" %% i in ('reg.exe query "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion" / v "CurrentVersion"') do set os_ver = %% j

REM Définir 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écuter SchTasks.exe
schtasks.exe / create / tn "Nom de la tâche" / sc ONSTART / TR "C: \ Scripts \ somescript.cmd" / ru SYSTEM% runlevel%
abstrask
la source