Eu tenho um problema muito estranho.
Um script do PowerShell é iniciar um exe. Funciona bem quando executado manualmente (clique com o botão direito do mouse> executar) ou via chamada de script no console do PowerShell. No entanto, quando crio uma tarefa no agendador de tarefas, ele basicamente cria um processo com o nome próprio, mas o processo está vazio e não faz nada. Não requer CPU, o programa não está listado na barra de tarefas e a janela do programa não abre. O script basicamente contém apenas:
Start-Process -FilePath <Path to exe>
Eu também tentei:
& <path to file>
mas isso também não funcionou. A tarefa inicia o programa powershell.exe com o parâmetro
-ExecutionPolicy Unrestricted -Command "& C:\Scripts\MyScript.ps1"
Eu o executo como um usuário administrador e também tentei "executar com os privilégios mais altos" marcado. Isso também não ajudou.
Quando executo a tarefa e inicio o programa manualmente, ele resulta em dois processos separados com o mesmo nome, mas com identificadores diferentes. Normalmente, apenas uma instância do programa pode ser executada.
Aparentemente, isso é um problema com o agendador de tarefas, pois o script funciona bem se for executado manualmente. Alguém pode me ajudar aqui?
1.no geral guia ter certeza ambos Run whether user is logged on or note Run with highest privilegese 2.da ação de edição no programa / script campo ter certeza de ter PowerShell, no adicionar argumentos campo tem -ExecutionPolicy Bypass -File "C:\Scripts\MyScript.ps1"e em o campo Start in have C:\Windows\System32\WindowsPowerShell\v1.0.... deixe-me saber se isso ajuda, mas é isso que funciona para mim Captura de tela -> i.imgur.com/T11RnU5.png
Run whether user is logged on or notele solicitará o nome de usuário e a senha para executar esse trabalho, para garantir que esta conta tenha permissões para executar o script PS e executar o arquivo executável. irá executar. Se você decidir não usar essa opção, mas usar apenas a Run with highest privileges, ela será iniciada somente quando a conta que você a agendar no Agendador de tarefas estiver conectada. Se for essa a que funcionar quando você clicar duas vezes e for suficiente, funcionará muito embora
-Command "& <PS Script>"isso da maneira que deseja, se um lote estiver executando seu script PS, basta configurar os campos etc. O nº 2 aponta em particular e deve resolver o problema para você. Isso funciona de maneira muito confiável para mim.