Como executar scripts do PowerShell automaticamente no Windows 10

O PowerShell tem muitas camadas diferentes de segurança que impedem que scripts e comandos maliciosos sejam executados. Por exemplo, por padrão, você não pode executar um script baixado da Internet, a menos que altere a política de execução do PowerShell. Outra medida de segurança impede que você execute 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 irá abri-lo no Bloco de Notas. Isso é ótimo para uma medida de segurança, mas irritante se você quiser que um script do PowerShell seja executado quando uma tarefa agendada for executada. O trabalho em torno é simples. Você pode usar um script em lote para executar scripts do PowerShell automaticamente.

  EXIF ReName extrai informações de data e hora para renomear fotos [Windows]

Script em lote

Veja a seguir o script em lote que você precisa 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 esses arquivos em lote fazem é abrir o PowerShell e, em seguida, executar o script para o qual você o 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 de prompt de comando e mostrará uma 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 que você precise 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

Estamos supondo que você deseja executar automaticamente um script do PowerShell como uma ação para uma tarefa agendada. Para fazer isso, você precisa primeiro criar um script Batch correspondente, conforme mostrado acima, para executar o script do PowerShell. Em seguida, ao criar uma tarefa agendada, selecione o script em lote em Ação que deve ser executada em resposta a um gatilho. Isso, com efeito, executará o script do PowerShell.

  Como girar a tela no Windows 10

Usamos o Agendador de Tarefas como exemplo aqui, mas se você estiver usando qualquer outro aplicativo de automação, ainda precisará chamar o script do Lote. A única exceção é se o aplicativo de automação que você está usando puder abrir o PowerShell e apontá-lo para o script do PowerShell.