Windows Task Scheduler pode ser uma ferramenta muito útil para executar seus scripts PowerShell no boot, login, em uma agenda ou outros eventos.
Este é um tutorial passo a passo sobre como você pode fazer isso no Windows 10, mas os passos neste guia se aplicam a todos os sistemas operacionais Windows modernos cliente e servidor Windows. O Agendamento de Tarefas do Windows é um programa integrado no Windows por padrão, portanto nenhuma instalação de software adicional é necessária.
Esta é a forma como você faz isto
- Inicie o Agendamento de Tarefas do Windows, isto pode ser feito procurando por ele, ou executando (START+R) taskschd.msc.
- Clique com o botão direito do mouse na Biblioteca do Agendamento de Tarefas e então selecione Create Task…. Uma janela popup com as guias General, Triggers, Actions, Conditions and Settings aparecerá.
Na guia “General”
- Na guia General dê um nome à sua tarefa, preenchendo o campo Name.
- >Check Run se o utilizador está ou não ligado em Opções de segurança
- Check Run with highest privileges
No separador “Triggers”
No separador “Triggers” tem muitas opções para quando quer que esta tarefa seja executada, mas neste exemplo vou usar Num agendamento.
- >Seleccionar Novo e depois seleccionar Num agendamento em Iniciar a tarefa:
- Aqui você pode selecionar o que se ajustar às suas necessidades, mas há duas coisas importantes a lembrar. A primeira é selecionar Ativado na parte inferior e a segunda é fazer a hora e data de início para estar no futuro. Se a hora de início for passada quando a tarefa for criada, a tarefa nunca será executada, e nunca mais será executada novamente. Cada vez que você reconfigurar a tarefa você também deve definir a hora a ser no futuro.
- Click OK
Na aba “Actions”
- na aba Action selecione New e preencha da seguinte forma:
Program/script:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Este é o link para o seu arquivo powerhell.exe, mesmo que você tenha uma versão mais recente ele está localizado na pasta v1.0.
Adicionar argumentos (opcional):-noprofile -executionpolicy bypass -file
"C:\powershell_script\test.ps1"
(substitua por caminho para script-file).
O parâmetro-noprofile
iniciar PowerShell sem qualquer perfil
O parâmetro-executionpolicy bypass
Está contornando qualquer restrição imposta pela política de execução, isto deve ser seguro se você sabe o seu código.
O parâmetro-file
é para abrir um arquivo. (o seu ficheiro .ps1 script-file) - Click OK. Você será solicitado a inserir credenciais para o usuário que deve executar o script, este usuário deve ter direitos administrativos.
Testando a tarefa
Um bom teste a fazer se você quiser ver que ele funciona é fazer um script simples que dê a saída da data e hora atual para um arquivo texto.
Get-Date >> "c:\powershell_script\testlogg.txt"