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 not
e Run with highest privileges
e 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 not
ele 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.