schtasks create

Agenda uma tarefa.

Sintaxe

schtasks /create /sc <scheduletype> /tn <taskname> /tr <taskrun> [/s <computer> [/u [<domain>\]<user> [/p <password>]]] [/ru {[<domain>\]<user> | system}] [/rp <password>] [/mo <modifier>] [/d <day>[,<day>...] | *] [/m <month>[,<month>...]] [/i <idletime>] [/st <starttime>] [/ri <interval>] [{/et <endtime> | /du <duration>} [/k]] [/sd <startdate>] [/ed <enddate>] [/it] [/np] [/z] [/xml <xmlfile>] [/v1] [/f] [/rl <level>] [/delay <delaytime>] [/hresult]

Parâmetros

Parâmetro Descrição
/sc <scheduletype> Especifica o tipo de agendamento. Os valores válidos incluem:
  • MINUTE – especifica o número de minutos antes da tarefa ser executada.
  • HOURLY – especifica o número de horas antes da tarefa ser executada.
  • DAILY – especifica o número de dias antes da tarefa ser executada.
  • WEEKLY – especifica o número de semanas antes da tarefa ser executada.
  • MONTHLY – especifica o número de meses antes da tarefa ser executada.
  • ONCE – especifica que essa tarefa seja executada uma vez em uma data e hora especificadas.
  • ONSTART – especifica que a tarefa seja executada sempre que o sistema for iniciado. Você pode especificar uma data de início ou executar a tarefa na próxima vez em que o sistema for iniciado.
  • ONLOGON – especifica que a tarefa seja executada sempre que um usuário (qualquer usuário) fizer logon. Você pode especificar uma data ou executar a tarefa na próxima vez em que o usuário fizer logon.
  • ONIDLE – especifica que a tarefa seja executada sempre que o sistema estiver ocioso por um período especificado. Você pode especificar uma data ou executar a tarefa na próxima vez em que o sistema estiver ocioso.
  • ONEVENT – Especifica que a tarefa é executada com base em um evento que corresponde às informações do log de eventos do sistema, incluindo a EventID.
/tn <taskname> Especifica um nome para a tarefa. Cada tarefa no sistema precisa ter um nome exclusivo e precisa estar em conformidade com as regras para nomes de arquivo, sem ultrapassar 238 caracteres. Use aspas para incluir nomes que incluem espaços. Para armazenar a tarefa agendada em uma pasta diferente, execute /tn<folder name\task name>.
/tr <Taskrun> Especifica o programa ou o comando executado pela tarefa. Digite o caminho totalmente qualificado e o nome de um arquivo executável, arquivo de script ou arquivo de lote. O nome do caminho não pode exceder 262 caracteres. Se você não adicionar o caminho, schtasks presumirá que o arquivo esteja no diretório <systemroot>\System32.
/s <computer> Especifica o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local.
/u [<domain>] Executa esse comando com as permissões da conta de usuário especificada. O padrão são as permissões do usuário atual do computador local. Os parâmetros /u e /p são válidos somente quando você usa /s. As permissões da conta especificada são usadas para agendar a para executar a tarefa. Para executar a tarefa com as permissões de um usuário diferente, use o parâmetro /ru. A conta de usuário precisa ser um membro do grupo Administradores no computador remoto. Além disso, o computador local precisa estar no mesmo domínio que o computador remoto ou precisa estar em um domínio de confiança do domínio do computador remoto.
/p <password> Especifica a senha da conta de usuário especificada no parâmetro /u. Se você usar o parâmetro /u sem o parâmetro /p ou o argumento de senha, schtasks solicitará uma senha. Os parâmetros /u e /p são válidos somente quando você usa /s.
/ru {[<domain>]<user> | system} Executa a tarefa com permissões da conta de usuário especificada. Por padrão, a tarefa é executada com as permissões do usuário atual do computador local ou com a permissão do usuário especificado pelo parâmetro /u, se houver um incluído. O parâmetro /ru é válido ao agendar tarefas em computadores locais ou remotos. As opções válidas incluem:
  • Domain – especifica uma conta de usuário alternativa.
  • System – especifica a conta do sistema local, uma conta com privilégios elevados usada pelo sistema operacional e pelos serviços do sistema.
/rp <password> Especifica a senha para a conta de usuário existente ou a conta de usuário especificada pelo parâmetro /ru. Se você não usar esse parâmetro ao especificar uma conta de usuário, SchTasks.exe solicitará a senha na próxima vez que você entrar. Não use o parâmetro /rp para tarefas executadas com credenciais da conta de sistema (/ru System). A conta do sistema não tem uma senha e SchTasks.exe não solicita uma.
/mo <modifiers> Especifica a frequência com que a tarefa é executada dentro do tipo de agendamento. As opções válidas incluem:
  • MINUTE – especifica que a tarefa seja executada a cada <n> minutos. Você pode usar qualquer valor entre 1 e 1439 minutos. Por padrão, é 1 minuto.
  • HOURLY – especifica que a tarefa seja executada a cada <n> horas. Você pode usar qualquer valor entre 1 e 23 horas. Por padrão, é 1 hora.
  • DAILY – especifica que a tarefa seja executada a cada <n> dias. Você pode usar qualquer valor entre 1 e 365 dias. Por padrão, é 1 dia.
  • WEEKLY – especifica que a tarefa seja executada a cada <n> semanas. Você pode usar qualquer valor entre 1 e 52 semanas. Por padrão, é 1 semana.
  • MONTHLY – especifica que a tarefa seja executada a cada <n> meses. Você pode usar qualquer um dos valores a seguir:
    • Um número entre 1 e 12 meses
    • LASTDAY – para executar a tarefa no último dia do mês
    • FIRST, SECOND, THIRD ou FOURTH em conjunto com o parâmetro /d <day> – especifica a semana e o dia específicos para executar a tarefa. Por exemplo, na terceira quarta-feira do mês.
  • ONCE – especifica que a tarefa seja executada uma vez.
  • ONSTART – especifica que a tarefa seja executada na inicialização.
  • ONLOGON – especifica que a tarefa seja executada quando o usuário especificado pelo parâmetro /ru fizer logon.
  • ONIDLE – especifica que a tarefa seja executada após o sistema ficar ocioso pelo número de minutos especificado pelo parâmetro /i
/d DAY[,DAY...] Especifica a frequência com que a tarefa é executada dentro do tipo de agendamento. As opções válidas incluem:
  • WEEKLY – especifica que a tarefa seja executada semanalmente fornecendo um valor entre 1 e 52 semanas. Opcionalmente, você também pode adicionar um dia específico da semana adicionando um valor de MON - SUN ou um intervalo de [MON - SUN...]).
  • MONTHLY – especifica que a tarefa seja executada semanalmente todos os meses fornecendo um valor de FIRST, SECOND, THIRD, FOURTH, LAST. Opcionalmente, você também pode adicionar um dia específico da semana adicionando um valor de MON a SUN ou fornecendo um número entre 1 a 12 meses. Se você usar essa opção, também poderá adicionar um dia específico do mês fornecendo um número entre 1 e 31.

    NOTA: o valor de data de 1 a 31 é válido somente sem o parâmetro /mo ou se o parâmetro /mo for mensal (1 a 12). O padrão é o dia 1 (o primeiro dia do mês).

/m MONTH[,MONTH...] Especifica um mês ou meses do ano durante os quais a tarefa agendada deve ser executada. As opções válidas incluem JAN – DEC e * (todos os meses). O parâmetro /m é válido apenas com um agendamento MONTHLY. É necessário quando o modificador LASTDAY é usado. Caso contrário, ele é opcional e o valor padrão é * (todos os meses).
/i <Idletime> Especifica quantos minutos o computador está ocioso antes do início da tarefa. Um valor válido é um número inteiro de 1 a 999. Esse parâmetro é válido apenas com um agendamento ONIDLE, quando é necessário.
/st <Starttime> Especifica a hora de início da tarefa usando o formato de 24 horas, HH:mm. O valor padrão é a hora atual no computador local. O parâmetro /st é válido com agendamentos MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY e ONCE. Ele é obrigatório para um agendamento ONCE.
/ri <interval> Especifica o intervalo de repetição em minutos para a tarefa agendada. Não se aplica aos tipos de agendamento: MINUTE, HOURLY, ONSTART, ONLOGON, ONIDLE e ONEVENT. O intervalo válido é de 1 a 599940 (599940 minutos = 9999 horas). Se os parâmetros /et ou /du forem especificados, o padrão será 10 minutos.
/et <endtime> Especifica a hora do dia em que um agendamento de tarefa por minuto ou por hora termina no formato de 24 horas <HH:MM>. Após a hora de término especificada, schtasks não inicia a tarefa novamente até que a hora de início se repita. Por padrão, os agendamentos de tarefa não têm hora de término. Esse parâmetro é opcional e válido apenas com um agendamento MINUTE ou HOURLY.
/du <duration> Especifica um período máximo para um agendamento por minuto ou por hora no formato de 24 horas <HHHH:MM>. Após a hora especificada passar, schtasks não iniciará a tarefa novamente até que a hora de início se repita. Por padrão, agendamentos de tarefas não têm duração máxima. Esse parâmetro é opcional e válido apenas com um agendamento MINUTE ou HOURLY.
/k Interrompe o programa executado pela tarefa na hora especificada por /et ou /du. Sem /k, schtasks não inicia o programa novamente depois que ele atinge o tempo especificado por /et ou /du, nem interrompe o programa se ele ainda estiver em execução. Esse parâmetro é opcional e válido apenas com um agendamento MINUTE ou HOURLY.
/sd <Startdate> Especifica a data em que o agendamento da tarefa é iniciado. O valor padrão é a data atual no computador local. O formato de Startdate varia de acordo com a localidade selecionada para o computador local nas Opções Regionais e de Idioma. Somente um formato é válido para cada localidade. Formatos de data válidos incluem (escolha o formato mais semelhante ao selecionado para Data abreviada nas Opções regionais e de idioma no computador local):
  • <MM>// – especifica o uso de formatos com o mês primeiro, como inglês (Estados Unidos) e espanhol (Panamá).
  • <DD>// – especifica o uso de formatos com o dia primeiro, como búlgaro e holandês (Países Baixos).
  • <YYYY>// – especifica o uso de formatos com o ano primeiro, como sueco e francês (Canadá).
/ed <Enddate> Especifica a data em que o agendamento termina. Esse parâmetro é opcional. Não é válido em um agendamento ONCE, ONSTART, ONLOGON, ONIDLE ou ONEVENT. Por padrão, os agendamentos não têm data de término. O valor padrão é a data atual no computador local. O formato de Enddate varia de acordo com a localidade selecionada para o computador local nas Opções Regionais e de Idioma. Somente um formato é válido para cada localidade. Formatos de data válidos incluem (escolha o formato mais semelhante ao selecionado para Data abreviada nas Opções regionais e de idioma no computador local):
  • <MM>// – especifica o uso de formatos com o mês primeiro, como inglês (Estados Unidos) e espanhol (Panamá).
  • <DD>// – especifica o uso de formatos com o dia primeiro, como búlgaro e holandês (Países Baixos).
  • <YYYY>// – especifica o uso de formatos com o ano primeiro, como sueco e francês (Canadá).
/ec <channelname> Especifica o nome do canal de eventos disparado pelo tipo de agendamento ONEVENT que corresponde a um critério de log de eventos do sistema.
/it Especifica a execução da tarefa agendada somente quando o usuário da execução (a conta de usuário na qual a tarefa é executada) estiver conectado ao computador. Esse parâmetro não tem efeito sobre tarefas executadas com permissões de sistema nem tarefas que já têm a propriedade somente interativa definida. Você não pode usar um comando de alteração para remover a propriedade somente interativa de uma tarefa. Por padrão, o usuário da execução é o usuário atual do computador local quando a tarefa é agendada ou a conta especificada pelo parâmetro /u, se um for usado. No entanto, se o comando incluir o parâmetro /ru, o usuário da execução será a conta especificada pelo parâmetro /ru.
/np Nenhuma senha é armazenada. A tarefa é executada de modo não interativo como o usuário determinado. Somente recursos locais ficam disponíveis.
/z Especifica a exclusão da tarefa após a conclusão de seu agendamento.
/xml <xmlfile> Cria uma tarefa especificada no arquivo XML. Pode ser combinado com os parâmetros /ru e /rp ou com o parâmetro /rp por si só se o arquivo XML já contiver as informações da conta de usuário.
/v1 Cria uma tarefa visível para sistemas operacionais pré-Vista. Isso não é compatível com o parâmetro /XML.
/f Especifica a criação da tarefa e a supressão de avisos se a tarefa especificada já existe.
/rl <level> Especifica o nível de execução para o trabalho. Os valores aceitáveis são LIMITED (as tarefas agendadas serão executadas com o menor nível de privilégios, como contas de Usuário Padrão) e HIGHEST (as tarefas agendadas serão executadas com o nível mais alto de privilégios, como contas de Superusuário). O valor padrão é Limited.
/delay <delaytime> Especifica o tempo de espera para atrasar a execução da tarefa depois que ela é disparada no formato mmmm:ss. Isso só é válido para os tipos de agendamento ONSTART, ONLOGON e ONEVENT.
/hresult Especifica o código de saída do processo que estará no formato HRESULT.
/? Exibe a ajuda no prompt de comando.

Para agendar uma tarefa para ser executada a cada <n> minutos

Em um agendamento por minuto, o parâmetro /sc minute é necessário. O parâmetro /mo (modificador) é opcional e especifica o número de minutos entre cada execução da tarefa. O valor padrão para /mo é 1 (a cada minuto). Os parâmetros /et (hora de término) e /du (duração) são opcionais e podem ser usados com ou sem o parâmetro /k (tarefa final).

Exemplos

  • Para agendar um script de segurança, Sec.vbs, para ser executado a cada 20 minutos, digite:

    schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
    

    Como este exemplo não inclui uma data ou hora inicial, a tarefa começa 20 minutos após a conclusão do comando e depois disso é executada a cada 20 minutos, sempre que o sistema está em execução. Observe que o arquivo de origem do script de segurança está localizado em um computador remoto, mas a tarefa é agendada e executada no computador local.

  • Para agendar um script de segurança, Sec.vbs, para ser executado no computador local a cada 100 minutos entre 17h e 7h59 todos os dias, digite:

    schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
    

    Este exemplo usa o parâmetro /sc para especificar um agendamento de minutos e o parâmetro /mo para especificar um intervalo de 100 minutos. Ele usa os parâmetros /st e /et para especificar a hora de início e de término do agendamento de cada dia. Ele também usará o parâmetro /k para interromper o script se ele ainda estiver em execução às 7h59. Sem /k, schtasks não iniciaria o script depois das 7h59, mas se a instância iniciada às 6h20 ainda estivesse em execução, isso não a interromperia.

Para agendar uma tarefa para ser executada a cada <n> horas

Em um agendamento por hora, o parâmetro /sc hourly é necessário. O parâmetro /mo (modificador) é opcional e especifica o número de horas entre cada execução da tarefa. O valor padrão para /mo é 1 (a cada hora). O parâmetro /k (tarefa final) é opcional e pode ser usado com /et (terminar na hora especificada) ou /du (terminar após o intervalo especificado).

Exemplos

  • Para agendar a execução do programa MyApp a cada cinco horas, começando no primeiro dia de março de 2002, digite:

    schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
    

    Neste exemplo, o computador local usa a opção Inglês (Zimbábue) nas Opções Regionais e de Idioma, portanto, o formato da data de início é MM/DD/AAAA (03/01/2002).

  • Para agendar a execução do programa MyApp por hora, começando cinco minutos após a meia-noite, digite:

    schtasks /create /sc hourly /st 00:05 /tn MyApp /tr c:\apps\myapp.exe
    
  • Para agendar a execução do programa MyApp a cada 3 horas, por 10 horas no total, digite:

    schtasks /create /tn MyApp /tr MyApp.exe /sc hourly /mo 3 /st 00:00 /du 0010:00
    

    Neste exemplo, a tarefa é executada às 00h, 3h, 6h e 9h. Como a duração é de 10 horas, a tarefa não é executada novamente às 12h. Em vez disso, ela começa novamente às 00h do dia seguinte. Além disso, como o programa é executado por apenas alguns minutos, o parâmetro /k, que interrompe o programa se ele ainda estiver em execução quando a duração expirar, não é necessário.

Para agendar uma tarefa para ser executada a cada <n> dias

Em um agendamento diário, o parâmetro /sc daily é obrigatório. O parâmetro /mo (modificador) é opcional e especifica o número de dias entre cada execução da tarefa. O valor padrão para /mo é 1 (a cada dia).

Exemplos

  • Para agendar a execução do programa MyApp uma vez por dia, todos os dias, às 8h até 31 de dezembro de 2021, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /st 08:00 /ed 31/12/2021
    

    Neste exemplo, o sistema do computador local é configurado com a opção Inglês (Reino Unido) nas Opções Regionais e de Idioma, portanto, o formato da data de término é DD/MM/AAAA (31/12/2021). Além disso, como este exemplo não inclui o parâmetro /mo, o intervalo padrão 1 é usado para executar o comando todos os dias.

  • Para agendar a execução do programa MyApp a cada doze dias às 13h a partir de 31 de dezembro de 2021, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
    

    Neste exemplo, o sistema está configurado como a opção Inglês (Zimbábue) nas Opções Regionais e de Idioma, portanto, o formato da data de término é MM/DD/AAAA (12/31/2021).

  • Para agendar um script de segurança, Sec.vbs, para ser executado a cada 70 dias, digite:

    schtasks /create /tn "Security Script" /tr sec.vbs /sc daily /mo 70 /it
    

    Neste exemplo, o parâmetro /it é usado para especificar que a tarefa seja executada somente quando o usuário em cuja conta a tarefa é executada estiver conectado ao computador. Como a tarefa é executada com as permissões de uma conta de usuário específica, essa tarefa só é executada quando o usuário está conectado.

    Observação

    Para identificar tarefas com a propriedade somente interativa (/it), use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa com /it, o campo Modo de Logon tem um valor Somente interativo.

Para agendar uma tarefa para ser executada a cada <n> semanas

Em um agendamento semanal, o parâmetro /sc weekly é obrigatório. O parâmetro /mo (modificador) é opcional e especifica o número de semanas entre cada execução da tarefa. O valor padrão para /mo é 1 (a cada semana).

Agendamentos semanais também têm um parâmetro /d opcional para agendar a execução da tarefa em dias especificados da semana, ou todos os dias (). O padrão é MON (segunda-feira). A opção todos os dias () é equivalente a agendar uma tarefa diária.

Exemplos

  • Para agendar a execução do programa MyApp em um computador remoto a cada seis semanas, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /u Admin01
    

    Como este exemplo deixa o parâmetro /d de fora, a tarefa é executada às segundas-feiras. Este exemplo também usa o parâmetro /s para especificar o computador remoto e o parâmetro /u para executar o comando com as permissões da conta de Administrador do usuário. Além disso, como o parâmetro /p é deixado de fora, SchTasks.exe solicita ao usuário a senha da conta de Administrador e, como o comando é executado remotamente, todos os caminhos no comando, incluindo o caminho para MyApp.exe, se referem a caminhos no computador remoto.

  • Para agendar uma tarefa para ser executada todas as sextas-feiras, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
    

    Este exemplo usa o parâmetro /mo para especificar o intervalo de duas semanas e o parâmetro /d para especificar o dia da semana. Para agendar uma tarefa que é executada todas as sextas-feiras, deixe de fora o parâmetro /mo ou defina-o como 1.

Para agendar uma tarefa para ser executada a cada <n> meses

Nesse tipo de agendamento, o parâmetro /sc monthly é necessário. O parâmetro /mo (modificador), que especifica o número de meses entre cada execução da tarefa, é opcional e o padrão é 1 (todos os meses). Esse tipo de agendamento também tem um parâmetro /d opcional para agendar a tarefa para execução em uma data especificada do mês. O padrão é 1 (o primeiro dia do mês).

Exemplos

  • Para agendar a execução do programa MyApp no primeiro dia de cada mês, digite:

    schtasks /create /tn MyApp /tr myapp.exe /sc monthly
    

    O valor padrão para o parâmetro /mo (modificador) e o parâmetro /d (dia) é 1, portanto, você não precisa usar nenhum desses parâmetros para este exemplo.

  • Para agendar a execução do programa MyApp a cada três meses, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 3
    

    Este exemplo usa o parâmetro /mo para especificar um intervalo de 3 meses.

  • Para agendar a execução do programa MyApp a cada dois meses no 21º dia do mês à meia-noite por um ano, de 2 de julho de 2002 a 30 de junho de 2003, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 2 /d 21 /st 00:00 /sd 2002/07/01 /ed 2003/06/30
    

    Este exemplo usa o parâmetro /mo para especificar o intervalo mensal (a cada dois meses), o parâmetro /d para especificar a data, o parâmetro /st para especificar a hora e os parâmetros /sd e /ed para especificar a data de início e a data de término, respectivamente. Também neste exemplo, o computador local é configurado com a opção Inglês (África do Sul) nas Opções Regionais e de Idioma, portanto, as datas são especificadas no formato local, AAAA/MM/DD.

Para agendar uma tarefa para execução em um dia específico da semana

O agendamento de dia da semana é uma variação do agendamento semanal. Em um agendamento semanal, o parâmetro /sc weekly é obrigatório. O parâmetro /mo (modificador) é opcional e especifica o número de semanas entre cada execução da tarefa. O valor padrão para /mo é 1 (a cada semana). O parâmetro /d, que é opcional, agenda a tarefa para execução em dias especificados da semana ou todos os dias (*). O padrão é MON (segunda-feira). A opção todos os dias (/d *) é equivalente a agendar uma tarefa diária.

Exemplos

  • Para agendar a execução do programa MyApp toda semana na quarta-feira, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /d WED
    

    Este exemplo usa o parâmetro /d para especificar o dia da semana. Como o comando deixa o parâmetro /mo de fora, a tarefa é executada toda semana.

  • Para agendar uma tarefa para execução na segunda e na sexta-feira de cada oitava semana, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 8 /d MON,FRI
    

    Este exemplo usa o parâmetro /d para especificar os dias e o parâmetro /mo para especificar o intervalo de oito semanas.

Para agendar uma tarefa para execução em uma semana específica do mês

Nesse tipo de agendamento, o parâmetro /sc monthly, o parâmetro /mo (modificador) e o parâmetro /d (dia) são obrigatórios. O parâmetro /mo (modificador) especifica a semana em que a tarefa é executada. O parâmetro /d especifica o dia da semana. Você pode especificar apenas um dia da semana para esse tipo de agendamento. Esse agendamento também tem um parâmetro /m (mês) opcional que permite agendar a tarefa para meses específicos ou para todos os meses (*). O padrão para o parâmetro /m é todos os meses (*).

Exemplos

  • Para agendar a execução do programa MyApp no segundo domingo de cada mês, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo SECOND /d SUN
    

    Este exemplo usa o parâmetro /mo para especificar a segunda semana do mês e o parâmetro /d para especificar o dia.

  • Para agendar a execução do programa MyApp na primeira segunda-feira de março e setembro, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo FIRST /d MON /m MAR,SEP
    

    Este exemplo usa o parâmetro /mo para especificar a primeira semana do mês e o parâmetro /d para especificar o dia. Ele usa o parâmetro /m para especificar o mês, separando os argumentos de mês com uma vírgula.

Para agendar uma tarefa para execução em um dia específico de cada mês

Nesse tipo de agendamento, o parâmetro /sc monthly e o parâmetro /d (dia) são obrigatórios. O parâmetro /d especifica uma data do mês (1 a 31), não um dia da semana, e você pode especificar apenas um dia no agendamento. O parâmetro /m (mês) é opcional, com o padrão sendo todos os meses (), enquanto o parâmetro /mo (modificador) não é válido com esse tipo de agendamento.

Schtasks.exe não permite agendar uma tarefa para uma data que não esteja em um mês especificado pelo parâmetro /m. Por exemplo, tentar agendar o dia 31 de fevereiro. No entanto, se você não usar o parâmetro /m e agendar uma tarefa para uma data que não aparece todos os meses, a tarefa não será executada nos meses mais curtos. Para agendar uma tarefa para o último dia do mês, use o tipo de agendamento de último dia.

Exemplos

  • Para agendar a execução do programa MyApp no primeiro dia de cada mês, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly
    

    Como o modificador padrão é none (nenhum modificador), esse comando usa o dia padrão 1 e o mês padrão todos os meses, sem a necessidade de parâmetros adicionais.

  • Para agendar a execução do programa MyApp em 15 de maio e 15 de junho às 15h, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00
    

    Este exemplo usa o parâmetro /d para especificar a data e o parâmetro /m para especificar os meses. Ele também usa o parâmetro /st para especificar a hora de início.

Para agendar uma tarefa para agendamento no último dia de um mês

No tipo de agendamento de último dia, o parâmetro /sc monthly, o parâmetro /mo LASTDAY (modificador) e o parâmetro /m (mês) são necessários. O parâmetro /d (dia) não é válido.

Exemplos

  • Para agendar a execução do programa MyApp no último dia de cada mês, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m *
    

    Este exemplo usa o parâmetro /mo para especificar o último dia e o parâmetro /m com o caractere curinga (*) para indicar que o programa é executado todos os meses.

  • Para agendar a execução do programa MyApp no último dia de fevereiro e no último dia de março às 18h, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m FEB,MAR /st 18:00
    

    Este exemplo usa o parâmetro /mo para especificar o último dia, o parâmetro /m para especificar os meses e o parâmetro /st para especificar a hora de início.

Para agendar a execução uma vez

No tipo de agendamento de execução única, o parâmetro /sc once é obrigatório. O parâmetro /st, que especifica a hora em que a tarefa é executada, é obrigatório. O parâmetro /sd, que especifica a data em que a tarefa é executada, é opcional, enquanto os parâmetros /mo (modificador) e /ed (data de término) não são válidos.

Schtasks não permite que você agende uma tarefa para ser executada uma vez quando a data e a hora especificadas estão no passado, com base na hora do computador local. Para agendar uma tarefa que é executada uma vez em um computador remoto em um fuso horário diferente, você precisa agendá-la antes que essa data e hora ocorram no computador local.

Exemplo

  • Para agendar a execução do programa MyApp à meia-noite de 1º de janeiro de 2003, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
    

    Este exemplo usa o parâmetro /sc para especificar o tipo de agendamento e os parâmetros /sd e /st para especificar a data e a hora. Também neste exemplo, o computador local usa a opção Inglês (Estados Unidos) nas Opções Regionais e de Idioma; o formato da data de início é MM/DD/AAAA.

Para agendar uma tarefa para execução sempre que o sistema for iniciado

No tipo de agendamento no início, o parâmetro /sc onstart é obrigatório. O parâmetro /sd (data de início) é opcional e o padrão é a data atual.

Exemplo

  • Para agendar a execução do programa MyApp sempre que o sistema for iniciado, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
    

    Neste exemplo, o computador local usa a opção Inglês (Estados Unidos) nas Opções Regionais e de Idioma; o formato da data de início é MM/DD/AAAA.

Para agendar uma tarefa para execução quando um usuário faz logon

O tipo de agendamento no logon agenda uma tarefa que é executada sempre que qualquer usuário faz logon no computador. No tipo de agendamento no logon, o parâmetro /sc onlogon é obrigatório. O parâmetro /sd (data de início) é opcional e o padrão é a data atual.

Exemplo

  • Para agendar uma tarefa que é executada quando um usuário faz logon em um computador remoto, digite:

    schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
    

    Este exemplo agenda um arquivo em lote para ser executado sempre que um usuário (qualquer usuário) faz logon no computador remoto. Ele usa o parâmetro /s para especificar o computador remoto. Como o comando é remoto, todos os caminhos nele, incluindo o caminho para o arquivo em lote, referem-se a um caminho no computador remoto.

Para agendar uma tarefa para execução quando o sistema está ocioso

O tipo de agendamento ocioso agenda uma tarefa que é executada sempre que não há nenhuma atividade do usuário durante o período especificado pelo parâmetro /i. No tipo de agendamento ocioso, os parâmetros /sc onidle e /i são obrigatórios. O /sd (data de início) é opcional e o padrão é a data atual.

Exemplo

  • Para agendar a execução do programa MyApp sempre que o computador estiver ocioso, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
    

    Este exemplo usa o parâmetro obrigatório /i para especificar que o computador precisa permanecer ocioso por dez minutos antes do início da tarefa.

Para agendar a execução de uma tarefa para agora

Schtasks não tem uma opção Executar Agora, mas você pode simular essa opção criando uma tarefa que é executada uma vez e é iniciada dentro de alguns minutos.

Exemplo

  • Para agendar uma tarefa para ser executada uma vez, em 13 de novembro de 2020 às 14h18, hora local, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /st 14:18 /sd 11/13/2002
    

    Neste exemplo, o computador local usa a opção Inglês (Estados Unidos) nas Opções Regionais e de Idioma, de modo que o formato da data de início é MM/DD/AAAA.

Para agendar uma tarefa que é executada com permissões diferentes

Você pode agendar tarefas de todos os tipos para serem executadas com permissões de uma conta alternativa no computador local e em um computador remoto. Além dos parâmetros obrigatórios para o tipo de agendamento específico, o parâmetro /ru é obrigatório e o parâmetro /rp é opcional.

Exemplos

  • Para executar o programa MyApp no computador local, digite:

    schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
    

    Este exemplo usa o parâmetro /ru para especificar que a tarefa deve ser executada com as permissões da conta de Administrador do usuário (Admin06). Também neste exemplo, a tarefa está agendada para ser executada todas as terças-feiras, mas você pode usar qualquer tipo de agendamento para a execução de uma tarefa com permissões alternativas.

    Em resposta, SchTasks.exe solicita a senha de execução da conta Admin06 e exibe uma mensagem de êxito:

    Please enter the run as password for Admin06: ********
    SUCCESS: The scheduled task MyApp has successfully been created.
    
  • Para executar o programa MyApp no computador Marketing a cada quatro dias, digite:

    schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
    

    Este exemplo usa o parâmetro /sc para especificar um agendamento diário e o parâmetro /mo para especificar um intervalo de quatro dias. Além disso, o exemplo usa o parâmetro /s para fornecer o nome do computador remoto e o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto (Admin01 no computador Marketing). Por fim, o exemplo usa o parâmetro /ru para especificar que a tarefa deve ser executada com as permissões da conta do usuário que não é de Administrador (User01 no domínio Reskits). Sem o parâmetro /ru, a tarefa seria executada com as permissões da conta especificada por /u.

    Ao executar este exemplo, Schtasks primeiro solicita a senha do usuário nomeado pelo parâmetro /u (para executar o comando) e solicita a senha do usuário nomeado pelo parâmetro /ru (para executar a tarefa). Depois de autenticar as senhas, schtasks exibe uma mensagem indicando que a tarefa foi agendada:

    Type the password for Marketing\Admin01:********
    Please enter the run as password for Reskits\User01: ********
    SUCCESS: The scheduled task MyApp has successfully been created.
    
  • Para agendar a execução do programa deAdminCheck.exe no computador Público todas as sextas-feiras às 4h, mas somente se o administrador do computador estiver conectado, digite:

    schtasks /create /tn "Check Admin" /tr AdminCheck.exe /sc weekly /d FRI /st 04:00 /s Public /u Domain3\Admin06 /ru Public\Admin01 /it
    

    Este exemplo usa o parâmetro /sc para especificar um agendamento semanal, o parâmetro /d para especificar o dia e o parâmetro /st para especificar a hora de início. Ele também usa o parâmetro /s para fornecer o nome do computador remoto, o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto, o parâmetro /ru para configurar a tarefa para ser executada com as permissões do administrador do computador Público (Public\Admin01) e o parâmetro /it para indicar que a tarefa seja executada somente quando a conta Public\Admin01 estiver conectada.

    Observação

    Para identificar tarefas com a propriedade somente interativa (/it), use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa com /it, o campo Modo de Logon tem o valor Somente interativo.

Para agendar uma tarefa que é executada com permissões do sistema

Tarefas de todos os tipos podem ser executadas com permissões da conta de Sistema no computador local e remoto. Além dos parâmetros obrigatórios para o tipo de agendamento específico, o parâmetro /ru system (ou /ru) é obrigatório, enquanto o parâmetro /rp não é válido.

Importante

A conta de Sistema não tem direitos de logon interativo. Os usuários não podem ver nem interagir com programas ou tarefas executadas com permissões do sistema. O parâmetro /ru determina as permissões sob as quais a tarefa é executada, não as permissões usadas para agendar a tarefa. Somente Administradores podem agendar tarefas, independentemente do valor do parâmetro /ru.

Para identificar tarefas executadas com permissões do sistema, use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa executada pelo sistema, o campo Executar como Usuário tem o valor NT AUTHORITY\SYSTEM e o campo Modo de Logon tem o valor Somente em segundo plano.

Exemplos

  • Para agendar a execução do programa MyApp no computador local com permissões da conta de Sistema, digite:

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
    

    Neste exemplo, a tarefa está agendada para ser executada no décimo quinto dia de cada mês, mas você pode usar qualquer tipo de agendamento para uma tarefa executada com permissões do sistema. Além disso, este exemplo usa o parâmetro /ru System para especificar o contexto de segurança do sistema. Como tarefas do sistema não usam senha, o parâmetro /rp é deixado de fora.

    Em resposta, SchTasks.exe exibe uma mensagem informativa e uma mensagem de êxito, sem solicitar uma senha:

    INFO: The task will be created under user name (NT AUTHORITY\SYSTEM).
    SUCCESS: The Scheduled task MyApp has successfully been created.
    
  • Para agendar a execução do programa MyApp no computador Finance01 todas as manhãs às 4h usando permissões do sistema, digite:

    schtasks /create /tn MyApp /tr myapp.exe /sc daily /st 04:00 /s Finance01 /u Admin01 /ru System
    

    Este exemplo usa o parâmetro /tn para nomear a tarefa e o parâmetro /tr para especificar a cópia remota do programa MyApp, o parâmetro /sc para especificar um agendamento diário, mas deixa de fora o parâmetro /mo porque 1 (todos os dias) é o padrão. Este exemplo também usa o parâmetro /st para especificar a hora de início, que também é a hora em que a tarefa será executada todos os dias, o parâmetro /s para fornecer o nome do computador remoto, o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto e o parâmetro /ru para especificar que a tarefa deve ser executada na conta de Sistema. Sem o parâmetro /ru, a tarefa seria executada usando as permissões da conta especificada pelo parâmetro /u.

    Schtasks.exe solicita a senha do usuário nomeado pelo parâmetro /u e, depois de autenticar a senha, exibe uma mensagem indicando que a tarefa foi criada e será executada com permissões da conta de Sistema:

    Type the password for Admin01:**********
    
    INFO: The Schedule Task MyApp will be created under user name (NT AUTHORITY\
    SYSTEM).
    SUCCESS: The scheduled task MyApp has successfully been created.
    

Para agendar uma tarefa que executa mais de um programa

Cada tarefa executa apenas um programa. No entanto, você pode criar um arquivo em lote que executa vários programas e agendar uma tarefa para executar o arquivo em lote.

  1. Usando um editor de texto, como o Bloco de Notas, crie um arquivo em lote que inclua o nome e o caminho totalmente qualificado para o arquivo .exe necessário para iniciar os programas Visualizador de Eventos (Eventvwr.exe) e Monitor do Sistema (Perfmon.exe).

    C:\Windows\System32\Eventvwr.exe
    C:\Windows\System32\Perfmon.exe
    
  2. Salve o arquivo como MyApps.bat, abra schtasks.exe e crie uma tarefa para executar MyApps.bat digitando:

    schtasks /create /tn Monitor /tr C:\MyApps.bat /sc onlogon /ru Reskit\Administrator
    

    Esse comando cria a tarefa Monitor, que é executada sempre que alguém faz logon. Ele usa o parâmetro /tn para nomear a tarefa, o parâmetro /tr para executar MyApps.bat, o parâmetro /sc para indicar o tipo de agendamento OnLogon e o parâmetro /ru para executar a tarefa com as permissões da conta de Administrador do usuário.

    Como resultado desse comando, sempre que um usuário faz logon no computador, a tarefa inicia o Visualizador de Eventos e o Monitor do Sistema.

Para agendar uma tarefa que é executada em um computador remoto

Para agendar uma tarefa para execução em um computador remoto, adicione-a ao agendamento do computador remoto. Tarefas de todos os tipos podem ser agendadas em um computador remoto, mas as seguintes condições precisam ser atendidas:

  • Você precisa ter permissão para agendar a tarefa. Sendo assim, você precisa estar conectado ao computador local com uma conta que seja membro do grupo Administradores no computador remoto ou precisa usar o parâmetro /u para fornecer as credenciais de um Administrador do computador remoto.

  • Você pode usar o parâmetro /u somente quando os computadores local e remoto estão no mesmo domínio ou quando o computador local está em um domínio de confiança do domínio do computador remoto. Caso contrário, o computador remoto não poderá autenticar a conta de usuário especificada nem poderá verificar se a conta é membro do grupo Administradores.

  • A tarefa precisa ter permissão suficiente para ser executada no computador remoto. As permissões necessárias variam de acordo com a tarefa. Por padrão, a tarefa é executada com a permissão do usuário atual do computador local ou, se o parâmetro /u for usado, ela será executada com a permissão da conta especificada pelo parâmetro /u. No entanto, você pode usar o parâmetro /ru para executar a tarefa com permissões de uma conta de usuário diferente ou com permissões do sistema.

Exemplos

  • Para agendar a execução do programa MyApp (como administrador) no computador remoto SRV01 a cada dez dias, começando imediatamente, digite:

    schtasks /create /s SRV01 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc daily /mo 10
    

    Este exemplo usa o parâmetro /s para fornecer o nome do computador remoto. Como o usuário atual local é um Administrador do computador remoto, o parâmetro /u, que fornece permissões alternativas para agendar a tarefa, não é necessário.

    Observação

    Ao agendar tarefas em um computador remoto, todos os parâmetros se referem a ele. Portanto, o arquivo especificado pelo parâmetro /tr refere-se à cópia de MyApp.exe no computador remoto.

  • Para agendar o programa MyApp (como usuário) para execução no computador remoto SRV06 a cada três horas, digite:

    schtasks /create /s SRV06 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc hourly /mo 3 /u reskits\admin01 /p R43253@4$ /ru SRV06\user03 /rp MyFav!!Pswd
    

    Como permissões de Administrador são necessárias para agendar uma tarefa, o comando usa os parâmetros /u e /p para fornecer as credenciais da conta de Administrador do usuário (Admin01 no domínio Reskits). Por padrão, essas permissões também são usadas para executar a tarefa. No entanto, como a tarefa não precisa de permissões de Administrador para ser executada, o comando inclui os parâmetros /u e /rp para substituir o padrão e executar a tarefa com a permissão da conta de usuário não Administrador no computador remoto.

  • Para agendar o programa MyApp (como usuário) para execução no computador remoto SRV02 no último dia de cada mês.

    schtasks /create /s SRV02 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc monthly /mo LASTDAY /m * /u reskits\admin01
    

    Como o usuário atual local (user03) não é um Administrador do computador remoto, o comando usa o parâmetro /u para fornecer as credenciais da conta de Administrador do usuário (Admin01 no domínio Reskits). As permissões da conta de Administrador serão usadas para agendar e para executar a tarefa.

    Como o comando não incluiu o parâmetro /p (senha), schtasks solicita a senha. Em seguida, ele exibe uma mensagem de êxito e, nesse caso, um aviso:

    Type the password for reskits\admin01:********
    
    SUCCESS: The scheduled task MyApp has successfully been created.
    WARNING: The scheduled task MyApp has been created, but may not run because the account information could not be set.
    

    Esse aviso indica que o domínio remoto não pôde autenticar a conta especificada pelo parâmetro /u. Nesse caso, o domínio remoto não pôde autenticar a conta de usuário porque o computador local não é membro de um domínio no qual o domínio do computador remoto confia. Quando isso ocorre, o trabalho da tarefa aparece na lista de tarefas agendadas, mas a tarefa na verdade está vazia e não será executada.

    A exibição a seguir de uma consulta detalhada expõe o problema com a tarefa. Na exibição, observe que o valor de Hora da Próxima Execução é Nunca e que o valor de Executar como Usuário é Não foi possível recuperar do banco de dados do agendador de tarefas.

    Se esse computador fosse membro do mesmo domínio ou de um domínio confiável, a tarefa teria sido agendada com êxito e teria sido executada conforme especificado.

    HostName: SRV44
    TaskName: MyApp
    Next Run Time: Never
    Status:
    Logon mode: Interactive/Background
    Last Run Time: Never
    Last Result: 0
    Creator: user03
    Schedule: At 3:52 PM on day 31 of every month, start
    starting 12/14/2001
    Task To Run: c:\program files\corpapps\myapp.exe
    Start In: myapp.exe
    Comment: N/A
    Scheduled Task State: Disabled
    Scheduled Type: Monthly
    Start Time: 3:52:00 PM
    Start Date: 12/14/2001
    End Date: N/A
    Days: 31
    Months: JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NO
    V,DEC
    Run As User: Could not be retrieved from the task sched
    uler database
    Delete Task If Not Rescheduled: Enabled
    Stop Task If Runs X Hours and X Mins: 72:0
    Repeat: Every: Disabled
    Repeat: Until: Time: Disabled
    Repeat: Until: Duration: Disabled
    Repeat: Stop If Still Running: Disabled
    Idle Time: Disabled
    Power Management: Disabled
    

Comentários

  • Para executar o comando /create com as permissões de um usuário diferente, use o parâmetro /u. O parâmetro /u é válido apenas para agendar tarefas em computadores remotos.

  • Para exibir mais exemplos de schtasks /create, digite schtasks /create /? em um prompt de comando.

  • Para agendar uma tarefa que é executada com permissões de um usuário diferente, use o parâmetro /ru. O parâmetro /ru é válido para tarefas em computadores locais e remotos.

  • Para usar o parâmetro /u, o computador local precisa estar no mesmo domínio que o computador remoto ou precisa estar em um domínio em que o computador remoto confia. Caso contrário, a tarefa não será criada ou o trabalho da tarefa estará vazio e a tarefa não será executada.

  • Schtasks sempre solicita uma senha, a menos que você forneça uma, mesmo quando você agenda uma tarefa no computador local usando a conta de usuário atual. Esse é um comportamento normal para schtasks.

  • Schtasks não verifica os locais de arquivo do programa nem as senhas da conta de usuário. Se você não inserir o local do arquivo correto ou a senha correta para a conta de usuário, a tarefa será criada, mas não será executada. Além disso, se a senha de uma conta for alterada ou expirar e você não alterar a senha salva na tarefa, a tarefa não será executada.

  • A conta de Sistema não tem direitos de logon interativo. Os usuários não veem e não podem interagir com programas executados com permissões de sistema.

  • Cada tarefa executa apenas um programa. No entanto, você pode criar um arquivo em lote que inicia várias tarefas e agendar uma tarefa que executa o arquivo em lote.

  • Você pode testar uma tarefa assim que a cria. Use a operação de execução para testar a tarefa e verifique se há erros no arquivo SchedLgU.txt (SystemRoot\SchedLgU.txt).