- Schtasks é a interface de linha de comandos A partir do Agendador de Tarefas, permite criar, modificar, executar e excluir tarefas tanto localmente quanto remotamente.
- Parâmetros-chave como /sc, /tn, /tr, /ru, /mo, /st ou /d definem o que é executado, com quais permissões e com qual frequência ou condição de ativação.
- O gerenciamento de permissões e contas (Administrador, SISTEMA, usuários remotos com /uy /p) é fundamental para que as tarefas sejam criadas e executadas corretamente.
- O Schtasks substitui o antigo comando AT e oferece uma plataforma robusta para automatizar manutenção, scripts e processos recorrentes. Windows.
Agende tarefas no Windows com o schtasks. É uma daquelas coisas que, depois de dominada, faz você se perguntar por que passou anos realizando tarefas repetitivas manualmente. Backups em horários inconvenientes, scripts que você executa todas as manhãs, serviços que precisam ser reiniciados após uma interrupção... tudo isso pode ser automatizado com um simples comando.
O comando schtasks é interface de linha de comando O Agendador de Tarefas do Windows permite criar, modificar, listar, executar e excluir tarefas tanto no seu computador quanto em máquinas remotas na rede. Vamos analisar mais detalhadamente, com exemplos claros e explicações de cada parâmetro principal para que você possa aproveitá-lo ao máximo, desde automações simples até cenários avançados envolvendo usuários, permissões e computadores remotos.
O que é schtasks e o que ele pode fazer por você?

Schtasks.exe é a ferramenta de console. que o Windows usa para se comunicar com o Agendador de Tarefas. Graças a ele, você pode definir que um programa, escrita O comando será executado automaticamente em uma data e hora específicas ou em um cronograma específico, sem a necessidade de interagir com a interface gráfica.
Com o schtasks você pode agendar tarefas recorrentes. (a cada X minutos, horas, dias, semanas ou meses), tarefas que são executadas quando o sistema é iniciado, quando um usuário específico faz login, quando o computador está ocioso ou até mesmo em resposta a eventos do sistema. Além disso, você pode executar tarefas em diferentes contas de usuário (incluindo a conta SYSTEM) e em computadores remotos.
As operações básicas do schtasks Eles estão agrupados em seis subcomandos principais, que são os que você usará em 99% das vezes:
- mudança de tarefas: modifica as propriedades de uma tarefa existente (programa a ser executado, usuário, senha, modo interativo…).
- schtasks criar: cria uma nova tarefa agendada.
- schtasks excluir: exclui uma tarefa do agendador.
- schtasks terminam: interrompe o programa que está executando uma tarefa.
- consulta schtasksExibe as tarefas agendadas da equipe.
- schtasks executar: força a execução imediata de uma tarefa que já foi criada.
Por trás dessas operações, existem muitos parâmetros. Para definir a frequência, as datas de início e término, o usuário responsável pela execução da tarefa, a equipe remota, os atrasos, a duração, os níveis de privilégio, etc., detalhamos tudo para você logo abaixo.
Permissões necessárias para trabalhar com schtasks

Antes de começar a criar tarefas como um loucoÉ importante ter clareza sobre quais permissões você precisa, pois, caso contrário, você poderá acabar com tarefas criadas, mas não executadas, ou que falham silenciosamente.
Na equipe local, para gerenciar todas as tarefas. Para visualizar, criar, modificar e excluir tarefas, você precisa ser um administrador. Um usuário padrão pode criar suas próprias tarefas em alguns casos, mas se você deseja ter controle total sobre o sistema, faça isso a partir de uma conta com privilégios administrativos.
Em equipes remotas, as coisas são semelhantes.A conta que você usa deve ser de administrador no computador remoto. Você pode executar o comando a partir do seu computador e usar o parâmetro. /s para indicar a equipe de destino e /u y /p Para fornecer as credenciais de administrador dessa máquina ou domínio.
O parâmetro /u funciona corretamente apenas quando necessário. Isso ocorre quando os computadores local e remoto estão no mesmo domínio ou em domínios com relação de confiança configurada. Se não houver relação de confiança, o computador remoto não poderá autenticar a conta fornecida e a tarefa ficará mal configurada ou vazia, mesmo que pareça ter sido criada.
Além disso, a própria tarefa deve ter permissões suficientes. para fazer o que você pede. Por padrão, as tarefas são executadas sob o usuário atual ou aquele que você especificar com /uSe você deseja que eles sejam iniciados com outra conta ou diretamente com permissões do sistema, você deve usar o parâmetro. / ru (Executar como usuário) e, normalmente, /rp Para inserir a senha.
Sintaxe geral de schtasks e parâmetros-chave
A sintaxe de schtasks é bastante extensa.No entanto, o padrão é sempre o mesmo: um subcomando, seguido por parâmetros que definem o quê, quando, onde e com quais permissões a tarefa será executada. O formato geral para a criação de tarefas é:
schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>
Os parâmetros fundamentais na criação de uma tarefa são os seguintes:
- /sc: tipo de programaçãoValores típicos:
- MINUTO: a cada N minutos.
- HORA: a cada N horas.
- DIÁRIO: a cada N dias.
- SEMANAL: a cada N semanas.
- POR MÊS: a cada N meses.
- UMA VEZ: uma única execução.
- INICIAR: em cada Bota sistema.
- LIGADO: quando um usuário faz login.
- Ocioso: quando o sistema estiver inativo por X minutos.
- ONEVENT: em resposta a um evento específico no registro.
- /tnNome de tarefa exclusivo. Pode incluir o caminho da pasta (por exemplo,
"MiCarpeta\BackupDB"Máximo de 238 caracteres. - /tr: Caminho completo para o executável, script ou arquivo .bat a ser executado. Se você não especificar um caminho, ele será assumido.
%SystemRoot%\System32Comprimento máximo de 262 caracteres. - /sComputador remoto (nome ou IP). Se você não o usar, estará agindo no computador local.
- /ouCredenciais com as quais o próprio comando schtasks é executado (para programação remota).
- /p: senha do usuário indicado em /uSe você não fornecer essa informação, o console a solicitará.
- /ru { | sistema}A conta sob a qual a tarefa será executada. Você pode usar um usuário de domínio, um usuário local ou a conta. System.
- /rp: senha da conta indicada em / ruNão é usado com
/ru SystemPorque a conta SYSTEM não possui senha. - /mo: modificador de frequência dentro do tipo de programação (quantos minutos, horas, dias, semanas ou meses).
- /d: dia ou dias específicos para SEMANAL ou determinados modos de MENSAL (por exemplo,
/d MON,FRI). - /m: meses específicos (JAN-DEZ ou * para todos).
- /st: hora de início no formato de 24 horas (
HH:MM). - /et o /du: horário de término ou duração máxima dos agendamentos em minutos/horas.
- /sd y /ed: datas de início e término de acordo com as configurações regionais do sistema.
- /isto: faz com que a tarefa seja executada somente se o usuário que a executa estiver conectado interativamente.
- /npNão salva a senha; a tarefa é executada de forma não interativa e apenas com recursos locais.
- /z: exclui automaticamente a tarefa quando o agendamento termina.
- /rl: nível de privilégio (LIMITADO ou MÁXIMO).
- /f: força a criação ou modificação, sobrescrevendo sem pedir confirmação.
Existem parâmetros mais avançados. (XML, compatibilidade com versões anteriores, atrasos com /atraso(Códigos HRESULT, etc.), mas com o que foi descrito acima, você pode abranger praticamente qualquer cenário padrão.
Agende tarefas com frequências diferentes.
Uma das vantagens do schtasks É a flexibilidade em definir a frequência. Você pode ajustar de execuções a cada poucos minutos a lançamentos no último dia de certos meses ou no segundo domingo de cada trimestre.
Para horários detalhados minuto a minuto, se usa /sc minuto. O modificador /mês Isso indica a frequência com que a tarefa é executada, em minutos. Se você não especificar, o valor padrão é 1 minuto.
Exemplo de intervalo de 20 minutos: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
Exemplo com intervalo de tempo: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
Para agendamento é usada /sc por horae novamente /mês Indica a frequência. Por exemplo, para executar o MyApp a cada 5 horas a partir de 1º de março:
Exemplo de cronograma para 5 horas: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
Em horários diários (/sc diariamente) você pode usar /mês Para espaçar as execuções. Por exemplo, execute MyApp a cada 12 dias a partir de uma data específica:
Exemplo de distribuição diária espaçada: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
A programação semanal é definido com /sc semanalcombinando /mês (intervalo de semanas) e /d (Dias da semana: SEG, TER, QUA, QUI, SEX, SÁB, DOM ou *). Por exemplo, para executar o MyApp em sextas-feiras alternadas:
Exemplo semanal (a cada 2 semanas): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
Existem diversas opções para cronogramas mensais.:
- Até um dia específico do mês (1-31) com /sc mensal y /d.
- Por semana e por dia (PRIMEIRO, SEGUNDO, TERCEIRO, QUARTO + /dia) e opcionalmente /m com os meses.
- Último dia do mês com /mês ÚLTIMO DIA y /m para meses específicos ou * para todos.
Exemplo mensal (último dia de meses específicos): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00
Gatilhos especiais: único, inicialização, login e ocioso
Nem sempre você quer uma tarefa recorrente.Às vezes, você só precisa executar algo uma vez em uma data e hora específicas. É para isso que serve o seguinte tipo de comando. /sc uma vezque requer um /st e, normalmente, um /sd:
Exemplo de execução única: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
O tipo ONSTART (/sc onstartIsso faz com que a tarefa seja executada a cada inicialização do sistema, ideal para scripts de manutenção, monitoramento ou serviços personalizados:
Exemplo OnStart: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
LIGADO (/sc onlogonIsso executa a tarefa quando um usuário faz login. Você pode usá-lo para executar scripts de ambiente, montar unidades de rede, iniciar aplicativos internos e muito mais. Por exemplo, em um computador remoto:
Exemplo de OnLogon remoto: schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
Ocioso (/sc onidle) aciona a tarefa quando o computador estiver inativo por um período de tempo, que você define com /i em minutos. Por exemplo, para iniciar o MyApp quando o dispositivo estiver inativo por 10 minutos:
Exemplo OnIdle 10 min: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
Criar tarefas com privilégios específicos: usuário alternativo e SISTEMA.
Uma utilização muito poderosa do schtasks é a execução de tarefas com contas diferentes. daquela que você está usando atualmente. Você pode, por exemplo, agendar manutenção com uma conta de administrador mesmo se estiver conectado com um usuário com privilégios limitados, ou executar processos com a conta SYSTEM para ter permissões elevadas.
Para executar uma tarefa com uma conta de usuário diferente. o parâmetro é usado / ru junto com a senha em /rpPor exemplo, executar o MyApp semanalmente às terças-feiras como Admin06 na máquina local:
Exemplo de alternativa /ru: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
Em sistemas remotos, /uy e /p controlam quem agenda a tarefa.Enquanto / ru Defina em qual conta a transação será executada. São conceitos distintos que não devem ser confundidos:
- /uCredenciais para executar o comando schtasks e criar a tarefa remotamente.
- / ru: conta com a qual a tarefa será executada quando chegar a hora.
Exemplo remoto com contas diferentes: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
Se você deseja usar a conta do SISTEMAQuem possui privilégios muito elevados, basta especificar. /ru System Sem senha. Por exemplo, para executar o MyApp no dia 15 de cada mês como SYSTEM:
Exemplo como SISTEMA: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
Observe que os processos em execução como SYSTEM Elas não são interativas: o usuário não vê janelas nem pode interagir com elas. São ideais para serviços, scripts de manutenção ou tarefas do sistema, mas não para abrir aplicativos visíveis ao usuário.
Gerenciar tarefas existentes: alterar, executar, listar e parar.
Depois de criar as tarefas, schtasks Ele oferece diversos subcomandos para gerenciá-los sem abrir o console gráfico do Agendador de Tarefas.
Para alterar propriedades de uma tarefa existente é utilizada tarefas/mudançaVocê pode modificar o programa que ele executa, o usuário que o executa, a senha ou configurá-lo para ser executado somente em sessões interativas:
- / tr: novo executável ou script.
- / ru: nova conta de execução (usuário ou SISTEMA).
- /rp: senha para a conta em /ru.
- /isto: marca a tarefa como “somente quando o usuário estiver conectado”.
Exemplo de alteração de script: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat
Se você deseja iniciar uma tarefa agora mesmoignorando sua programação, você usa tarefas/execuçãoEsta execução não altera a próxima data agendada:
Execute imediatamente: schtasks /run /tn "OpenWebinarsSchedule"
Listar as tarefas da equipe é usada tarefas/consultaVocê pode obter uma lista simples, uma tabela ou uma lista detalhada:
schtasks /query→ lista básica.schtasks /query /fo LIST /v→ Lista detalhada, muito útil para resolução de problemas.
Se uma tarefa estiver executando um programa que você deseja interromper,, você tem tarefas /fimVocê só precisa do nome da tarefa:
Forçar a parada da tarefa: schtasks /end /tn "OpenWebinarsSchedule"
E quando você não precisar mais de uma tarefaVocê o elimina com tarefas /deleteVocê pode excluir uma tarefa específica ou todas elas (com cuidado):
schtasks /delete /tn OpenWebinarsSchedule /f→ Exclua essa tarefa sem pedir confirmação.schtasks /delete /tn * /f→ Exclui todas as tarefas de sistema agendadas.
Persistência na execução de tarefas programadas (visão técnica e de segurança)
Um uso avançado e delicado de tarefas Consiste em criar tarefas como um mecanismo de persistência: configurar um programa ou script para ser executado periodicamente ou na inicialização do sistema, mesmo que ninguém faça login. Isso é útil para administradores legítimos, mas os atacantes também o utilizam, por isso é importante compreendê-lo bem da perspectiva de... cibersegurança.
Uma tarefa agendada no Windows é simplesmente um comando. Isso permite que o sistema execute um comando, script ou arquivo executável em um horário específico ou com uma determinada frequência. Se essa tarefa for definida com a conta SYSTEM e uma frequência muito curta, você pode fazer com que um arquivo binário seja executado continuamente, mesmo que alguém o feche.
Exemplo de persistência (SISTEMA a cada N minutos): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"
Analisando o pedido anterior:
- /ru «SISTEMA»Executa a tarefa com a conta SYSTEM, ou seja, com privilégios muito elevados.
- /sc minuto: tipo de programação em minutos.
- /mo: intervalo de repetição, por exemplo, 10 a cada dez minutos.
- /tn « »: nome identificador da tarefa, que pode ser disfarçado como algo inocente se alguém quiser passar despercebido.
- /tr « »: programa ou script a ser executado (caminho completo com argumentos).
Existem exemplos em que as tarefas são combinadas. com ferramentas como plink.exe Para estabelecer conexões reversas, túneis de porta e similares, configurados para serem reiniciados periodicamente. Do ponto de vista defensivo, revise periodicamente as tarefas agendadas com schtasks /query /fo LIST /v e o visualizador de eventos é obrigatório para detectar esse tipo de uso.
De AT a schtasks: por que você não deveria mais usar AT
Durante anos, o Windows incorporou o comando AT. para agendar tarefas. Nas versões modernas, este comando está oficialmente obsoleto, e o próprio console informa isso quando você tenta usá-lo: “O comando AT está obsoleto. Use schtasks.exe em vez disso.”
AT permitia a programação de comandos simples. Especificando apenas a hora, a data e o comando a ser executado. Por exemplo, para copiar documentos para outra unidade toda meia-noite:
Exemplo clássico de AT: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs
Você também pode listar e excluir tarefas de AT. com variações do mesmo comando (por ID, em máquinas remotas, etc.). No entanto, não chegava nem perto de ter a flexibilidade, a granularidade das permissões ou as opções avançadas que o schtasks oferece.
No Windows 10 e versões posteriores, o AT ainda existe. Ele funciona apenas como um wrapper de compatibilidade, mas retorna mensagens informando que a solicitação não é suportada. Se você estiver trabalhando com versões mais antigas do Windows, onde ele ainda funciona, recomenda-se migrar suas automações para o Schtasks, que é a ferramenta suportada e muito mais poderosa.
Schtasks versus a interface gráfica do Agendador de Tarefas
Tudo o que o schtasks faz também pode ser feito. do console gráfico do Agendador de Tarefas (abre) taskschd.msc (a partir do Executar), mas usar a linha de comando tem vantagens claras: você pode automatizar implantações, gerar scripts reutilizáveis, aplicar alterações em massa ou trabalhar com equipes remotas sem precisar estar fisicamente presente.
Uma abordagem muito prática em ambientes mistos. Trata-se de combinar os dois mundos: você cria uma tarefa base a partir da interface gráfica para entender todas as configurações, exporta-a para XML e, em seguida, usa o schtasks com o parâmetro. /xml Implantar cópias ajustando apenas o necessário (usuário, datas, etc.).
Você também pode integrar tarefas (schtasks) em scripts .bat ou .ps1. juntamente com outras tarefas de manutenção: limpeza torasReiniciar serviços, iniciar backups ou notificações, tudo isso acionado por uma única tarefa agendada que chama um script principal.
Se você gerencia muitas máquinas ou usuários, domine as tarefas e programas para automatizar tarefas Isso evitará que você precise acordar cedo para fazer backups manuais, impedirá que você se esqueça de coisas importantes e reduzirá o risco de erros humanos ao repetir constantemente as mesmas ações manualmente. É literalmente ensinar o sistema a fazer por você o que rouba seu tempo todos os dias.
É essencial ter um conhecimento profundo do schtasks, seus parâmetros de programação e a interação entre /u, /ru, permissões locais e remotas. Ele permite automatizar praticamente qualquer rotina no Windows com precisão, segurança e consistência, deixando o computador fazer o que faz de melhor: seguir instruções à risca, 24 horas por dia.
Escritor apaixonado pelo mundo dos bytes e da tecnologia em geral. Adoro compartilhar meu conhecimento por meio da escrita, e é isso que farei neste blog, mostrar a vocês tudo o que há de mais interessante sobre gadgets, software, hardware, tendências tecnológicas e muito mais. Meu objetivo é ajudá-lo a navegar no mundo digital de uma forma simples e divertida.