Como agendar adequadamente uma tarefa para executar o script do PowerShell

Com mais e mais scripts escritos no PowerShell, muito mais tarefas são agendadas para serem executadas no PowerShell, em vez de arquivos em lote. Portanto, é importante agendar adequadamente uma tarefa que execute os scripts do PowerShell sem problemas e com êxito.

Para começar, abra Agendador de tarefas clicando no menu Iniciar e digitando Agendador de tarefas e clique em Criar tarefa básica ... ou Criar tarefa ... no painel Ações.

At Açao Social etapa, selecione Iniciar um programa e clique em Avançar.

Na próxima janela, digite PowerShell como o Programa / script e o caminho completo do arquivo de script como o argumento. Se o caminho incluir algum espaço, envolva toda a string com aspas completas.

Clique em Avançar para finalizar a configuração.

Por que o trabalho falhou?

A tarefa não terá problemas para ser executada, desde que a política de execução do PowerShell local seja definida como irrestrita. Ou irá falhar.

Então, como evitar que isso aconteça?

Você pode especificar qual política usar com o switch -Política de Execução, como abaixo:

PowerShell -ExecutionPolicy Unrestricted -File "fullpathscript.ps1"

Para Tarefas agendadas, coloque PowerShell na caixa Programa / script e o resto na caixa de argumentos.

Como faço para ocultar a janela do PowerShell durante o tempo de execução?

Por padrão, quando o script é executado, ele abre uma janela do console do PowerShell e a fecha quando o trabalho é concluído. Se o trabalho for relativamente rápido, não é grande coisa deixá-lo em aberto, mas quando o trabalho demora mais para terminar, é melhor não tão óbvio.

É aí que está a mudança -WindowStanto entra em jogo. Existem 4 tipos de estilo que você pode escolher: Normal, Minimizado, Maximizado e Oculto. Aparentemente, o que procuramos é oculto.

Coloque junto,

PowerShell -ExecutionPolicy irrestrito -WindowStyle Hidden -File "fullpathscript.ps1"

E quanto ao PowerShell 7?

Se você tiver o PowerShell 7 instalado e quiser que ele execute seu script compatível com o PowerShell 7, use pwsh para iniciar o PowerShell. Todas as opções mencionadas acima ainda se aplicam.

O posto Como agendar adequadamente uma tarefa para executar o script do PowerShell apareceu pela primeira vez em Próximo de Windows.