EDIT: Esta é uma prova de conceito que funcionou para mim.
-
abra um novo arquivo de texto e digite
write-Host 'Hello World'
e$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
-
salve-o como
hello.ps1
na sua área de trabalho -
abra a versão de 32 bits do powershell.exe com direitos elevados
(clique com o botão direito + abra como administrador)%C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
-
Verifique se você não usou a versão x64 até que queira %
C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe
-
No meu Windows 7, o atalho startmenu "Windows PowerShell (x86)" aponta para a versão x64 ! Essas versões usam configurações de política separadas . Demorei um pouco para descobrir isso:)
-
Digite o seguinte para permitir scripts do PowerShell e confirme com Y
Set-ExecutionPolicy Unrestricted
-
Essa configuração é armazenada permanentemente. Faça uma reinicialização apenas para verificar isso.
-
verifique a política do PowerShell e confirme se ela ainda é irrestrita com%
get-ExecutionPolicy
-
janela de tarefas de agenda aberta
-
faça uma tarefa agendada que aponte para a versão x86
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
-
Digite o seguinte para o parâmetro opcional:%
c:\users\YOURUSERNAME\desktop\hello.ps1
-
Execute sua tarefa manualmente através de um clique com o botão direito na janela da sua tarefa de agendamento
-
Pergunto por que é que diz "a correr"
-
Pressione F5 para atualizar. Você notará que o status "ainda em execução" desaparece.