Muitas vezes, quando você deseja agendar tarefas no Windows, geralmente acessa o utilitário Agendador de Tarefas do Windows primeiro. No entanto, é possível usar cmdlets do Windows PowerShell para criar, editar e excluir tarefas agendadas.

Mas por que você deve usar o PowerShell para agendar tarefas em vez da ferramenta designada Tash Scheduler? Vamos descobrir.

Por que usar o PowerShell em vez do Agendador de Tarefas?

Para a maioria dos usuários do Windows, é mais fácil usar o Agendador de Tarefas para criar tarefas agendadas simples. No entanto, o principal motivo para usar o PowerShell em vez do Agendador de Tarefas é principalmente a capacidade de criar um script que interage com o sistema por meio de uma tarefa agendada.

O Agendador de Tarefas faz parte do Windows há muito tempo e você pode aprender mais sobre executando programas automaticamente usando o Agendador de Tarefas em nosso guia. Isso o ajudará a decidir o melhor método para criar tarefas agendadas para suas necessidades específicas.

instagram viewer

O que é um script do PowerShell?

O Windows PowerShell é um programa de gerenciamento de configuração e automação de tarefas. Também inclui uma linguagem de script. Os scripts do PowerShell, chamados de "cmdlets", permitem que você crie operações complexas de várias ações.

Um script do PowerShell pode ser usado para algo tão simples quanto coletar e apresentar informações sobre um computador. Um administrador de rede pode criar um script que desliga todos os computadores em uma rede que não está sendo usada.

Os scripts são mais comumente usados ​​por administradores de sistema e de rede, mas isso não significa que você não possa criar scripts do PowerShell para executar ações simples e complexas em seu computador pessoal. Na verdade, existem muitos scripts simples do Windows que são fáceis de configurar, mas fornecem muitas funcionalidades.

Criando uma tarefa agendada no PowerShell (elevado)

Você precisará abrir o PowerShell com privilégios de administrador quando quiser criar tarefas agendadas. Se você não sabe como fazer isso, certifique-se de aprender mais sobre iniciando programas com privilégios elevados.

Para abrir o PowerShell, clique com o botão direito do mouse no botão do Menu Iniciar e selecione PowerShell (Administrador) no menu do usuário avançado. Se você não vir essa opção, pesquise PowerShell na Pesquisa do Windows e selecione Executar como administrador.

Você precisa criar uma variável para conter a ação da tarefa. Para fazer isso, digite: $action = New-ScheduledTaskAction -Execute 'PROGRAMA' e pressione Digitar. Substituir PROGRAMA com o nome do programa para o qual você está criando a tarefa.

O nome da variável no comando acima é a parte $action. Você pode alterar isso para o que quiser, mas é melhor mantê-lo curto e descritivo. Ele também precisa estar em letras minúsculas.

Em seguida, crie o gatilho para a tarefa agendada. Isso incluirá um tempo e uma frequência de repetição. Para adicionar um acionador, digite: $trigger = New-ScheduledTaskTrigger -CONTEXTO -No TEMPO. Substituir -CONTEXTO com a frequência, como Diariamente. Substituir -No tempo com um horário, como "Às 7h".

Você pode usar Uma vez, Diariamente, Semanalmente ou Mensalmente para a frequência. A hora pode estar no formato de 12 ou 24 horas. Se você estiver usando a frequência Semanal, também poderá adicionar -Dias da semana, e depois o dia. Terça-feira, por exemplo. Você também pode usar -DaysInterval para controlar a frequência. Por exemplo, -DiasIntervalo 3, executará a tarefa a cada três dias.

Agora você precisa reunir todas as informações em um único comando. Na linha de comando a seguir, substitua PASTA DE TAREFA, NOME DA TAREFA, e OPCIONAL-DESCRIÇÃO-TEXTO com as informações da sua tarefa. o -Caminho da Tarefa é opcional, mas ajuda você a identificar suas tarefas criadas.

Para criar a tarefa agendada, digite: Register-ScheduledTask -Action $action -Trigger $trigger -TaskPath "PASTA DE TAREFA" -Nome da tarefa "NOME DA TAREFA" -Descrição "OPCIONAL-DESCRIÇÃO-TEXTO". Imprensa Digitar.

A tarefa agendada será então criada e será ativada quando os acionadores de frequência e tempo forem atingidos.

Modificar uma tarefa agendada no PowerShell (elevado)

Você também pode usar o PowerShell para modificar uma tarefa agendada criada anteriormente. Você pode editar uma tarefa agendada mesmo se ela estiver ativa no momento. Você precisará saber o nome da tarefa agendada e o caminho da tarefa.

Abra o PowerShell com privilégios de administrador pesquisando no Windows Search e clicando em Executar como administrador.

Você precisa criar uma variável para manter as alterações de tarefas agendadas. Modelo: $trigger = New-ScheduledTaskTrigger -CONTEXTO -No tempo. Mudar -CONTEXTO e -No tempo para a frequência e hora que você deseja definir para a tarefa.

Para alterar o programa que a tarefa agendada usa, digite: $action = New-ScheduledTaskAction -Execute 'PROGRAMA'. Substituir PROGRAMA no comando com o nome do programa que você deseja usar junto com o caminho para o arquivo .exe.

Em seguida, aplique essas alterações à tarefa agendada digitando: Set-ScheduledTask -Trigger $trigger -Action $action -TaskPath "PASTA DE TAREFA" -Nome da tarefa "NOME DA TAREFA". Substituir PASTA DE TAREFA e NOME DA TAREFA com detalhes da tarefa que você deseja alterar.

Como excluir tarefas agendadas no PowerShell

As tarefas agendadas criadas no PowerShell também podem ser excluídas no PowerShell.

Abra o PowerShell (elevado) e digite o seguinte comando para confirmar que a tarefa existe e está ativa: Get-ScheduledTask -TaskName "TAREFA-NAME". Substituir NOME DA TAREFA com o nome da tarefa que você deseja excluir.

Supondo que a tarefa agendada seja encontrada, você pode excluí-la com o seguinte comando: Unregister-ScheduledTask -TaskName "NOME DA TAREFA" -Confirmar:$false. Substituir NOME DA TAREFA com o nome da tarefa que você deseja excluir.

Para confirmar que a tarefa foi excluída, digite: Get-ScheduledTask -TaskName "NOME DA TAREFA", substituindo NOME DA TAREFA com o nome da tarefa agendada que você excluiu.

Você deverá ver um aviso de que não existe nenhuma tarefa com esse nome. Se você vir detalhes da tarefa agendada consultada, ela não foi excluída corretamente. Verifique os detalhes inseridos durante a etapa 1 acima.

Cmdlets PowerShell adicionais para tarefas agendadas

Agora que você entende os fundamentos da criação de tarefas agendadas no PowerShell, pode experimentar outros cmdlets.

Existem várias outras maneiras de controlar tarefas agendadas com linhas de comando. Isso inclui a desativação temporária de tarefas, a exportação de uma tarefa agendada como uma string XML e a interrupção de todas as tarefas em execução.

Você pode encontrar uma lista completa de todos os PowerShell cmdlets de tarefas agendadas no Microsoft Docs.

Criando tarefas agendadas no Windows PowerShell

Nem todos precisarão usar o PowerShell para criar tarefas agendadas. O Agendador de Tarefas faz um bom trabalho ao permitir que você agende tarefas simples, como abrir aplicativos. Mas se você precisa saber como criar tarefas agendadas no PowerShell, a poderosa ferramenta de automação do Windows, este guia é um ótimo lugar para começar.