Se você lançar o Powershell em uma sessão "console" interativa, provavelmente estará lançando a versão de 64 bits do Powershell. (O executável residirá no Windows \ System32.) Você também pode iniciar o Powershell de 32 bits a partir do Windows de 64 bits, executando a versão que reside no Windows \ SysWOW64. Verifique se você sabe qual versão o Agendador de Tarefas está iniciando.
Tenha em mente que cada versão do Powershell tem uma política de execução completamente separada. Portanto, você precisa definir a política de execução duas vezes para abranger as versões de 32 e 64 bits do Powershell.
O snap-in que você está tentando carregar também pode ser crítico. Alguns snap-ins e objetos COM só podem ser carregados em um ambiente de 32 ou 64 bits. No entanto, acabei de testar em um servidor Server 2008 R2 com o PowerCLI instalado e não tive problemas para carregar o snapin que você mencionou em ambos os ambientes. Então eu não acho que é o problema aqui. Mas ainda é algo a considerar. Pode depender dessa versão do PowerCLI que você instalou. Certifique-se de que o snapin seja carregado a partir de shells PS de 32 e 64 bits.
Por fim, você pode nos dizer exatamente o que a tela Ação em sua tarefa agendada diz? Que linha de comando exata (com argumentos) você está executando? Você pode obter mais informações de depuração se executar algo como cmd /c powershell.exe c:\yourscript.ps1 2>&1> C:\debug.txt
Também pode ajudar a nos fornecer a saída de Get-ExecutionPolicy -List
de ambientes de 32 e 64 bits.
Também no seu post você menciona:
The task just continues to run perpetually. I don't get any result and it doesn't terminate.
Isso geralmente indica que está aguardando a entrada do usuário.
Editar: Typos, erros de digitação eveyrwhere