Como especifico “Executar com privilégios mais altos” no SchTasks?

20

Quando uso o GUI Agendador de tarefas, posso verificar facilmente a caixa de seleção " Executar com privilégios mais altos ".

No entanto, não encontrei essa opção na linha de comando SchTasks .

Existe uma maneira de fazer isso a partir da linha de comando?

    
por WinWin 09.02.2011 / 16:44

3 respostas

25

Isso é o que a opção / RL faz.

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

    
por 09.02.2011 / 17:33
5

/RL level Define o nível de execução do trabalho. Os valores válidos são LIMITED e HIGHEST . O padrão é LIMITED .

    
por 13.01.2012 / 14:17
3

Para adicionar à resposta do @Skatterbrainz: Se você executar o mesmo comando / script no XP / 2003, especificando / RL, o SchTasks.exe não criará a tarefa.

Você pode criar um script que funcionará no XP, 2003, Vista, 2008, 7, 2008R2 etc., puxando a versão do sistema operacional do registro. Um script em lote pode ter esta aparência:

setlocal
set runlevel=

REM Get OS version from registry
for /f "tokens=2*" %%i in ('reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"') do set os_ver=%%j

REM Set run level (for Vista or later - version 6)
if /i "%os_ver:~,1%" GEQ "6" set runlevel=/rl HIGHEST

REM Execute SchTasks.exe
schtasks.exe /create /tn "Task Name" /sc ONSTART /TR "C:\Scripts\somescript.cmd" /ru SYSTEM %runlevel%
    
por 29.08.2013 / 10:33