O PowerShell possui várias camadas diferentes desegurança que impede que scripts e comandos maliciosos sejam executados. Por exemplo, por padrão, você não pode executar um script que baixou da Internet, a menos que altere a política de execução do PowerShell. Outras medidas de segurança impedem a execução de um script clicando duas vezes nele. Você não pode associar scripts PS1 ao PowerShell, e a única maneira de executar um script é clicar com o botão direito do mouse e selecionar a opção de execução. Clicar duas vezes nele abrirá no Bloco de Notas. Isso é ótimo para uma medida de segurança, mas irritante se você desejar que um script do PowerShell seja executado quando uma tarefa agendada for executada. A solução é simples. Você pode usar um script em lote para executar automaticamente os scripts do PowerShell.
Script de lote
A seguir, é apresentado o script em lote necessário para executar automaticamente os scripts do PowerShell no Windows 10. Cada script do PowerShell precisará de seu próprio script em lote.
Sintaxe
@ECHO OFF PowerShell.exe -Command "Path to script" PAUSE
Substitua "Caminho para script" pelo caminho real para o script do PowerShell que você deseja executar. Considere o seguinte exemplo;
Exemplo
@ECHO OFF PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1" PAUSE
Abra o Bloco de notas e cole o script nele. Salve o arquivo com a extensão .bat.
O que esse arquivo em lote faz é que ele abrePowerShell e, em seguida, executa o script para o qual você apontou. Você ainda não pode clicar duas vezes em um script do PowerShell na área de trabalho e executá-lo automaticamente no PowerShell. O arquivo atual abrirá uma janela do prompt de comando e mostrará a mensagem 'Pressione qualquer tecla para continuar'. Quando você pressiona uma tecla, somente então o script do PowerShell é executado. Se você preferir que o script seja executado sem a necessidade de intervir, edite o script acima e remova a linha "PAUSE". Deve ficar assim;
@ECHO OFF PowerShell.exe -Command "Path to script"
Agendador de tarefas e scripts do PowerShell
Supomos que você deseja executar automaticamente umScript do PowerShell como uma ação para uma tarefa agendada. Para fazer isso, primeiro é necessário criar um script em lote correspondente, como mostrado acima, para executar o script do PowerShell. Em seguida, ao criar uma tarefa agendada, selecione o script Lote em Ação que ele deve executar em resposta a um gatilho. Com efeito, isso executará o script do PowerShell.

Usamos o Agendador de tarefas como exemplo aqui, masse você estiver usando outro aplicativo de automação, ainda precisará chamar o script em lote. A única exceção é se o aplicativo de automação que você está usando pode abrir o PowerShell e apontá-lo para o script do PowerShell.
Comentários