O script do PowerShell do Agendador de tarefas não está em execução

O script do PowerShell do Agendador de tarefas não está em execução

Tenho um script powershell que abre um arquivo Excel todos os dias pela manhã, executa uma macro e fecha. Isso estava funcionando bem até recentemente, quando movemos nossas unidades de rede legadas para o Sharepoint Online.

O script, se eu executá-lo manualmente, inicia e faz o que precisa ser feito. Porém, quando coloco no Agendador de Tarefas ele não abre o arquivo.

Eu tentei:

  • Colocar o script fora da minha pasta OneDrive: O script é executado, mas o arquivo não abre.
  • Colocar o script e o arquivo fora do OneDrive e do Sharepoint: o script é executado e o arquivo é aberto.
  • Com ambos em OD/SP, execute um agendador de tarefas para abrir uma janela do Powershell e executar o script a partir daí: A primeira janela abre, mas o Powershell fecha ao executar o segundo script.

O próprio usuário que executa a tarefa tem controle total sobre as pastas onde o script e o arquivo estão localizados e, como mencionado, em todos esses casos o script funciona se for executado manualmente. Parece que não consigo encontrar nada na internet, nem nos logs (a menos que eu seja cego, não há nenhum log criado após a execução de todas as tarefas anteriores) e estou começando a ficar sem cabelos puxar.

Alguém tem alguma ideia/conselho?

Obrigado!

Responder1

O script do PowerShell do Agendador de tarefas não está em execução

Com base no que você descreve e no que vejo noArquivo XML de acordo com sua configuraçãoonde você tem. . .

<Exec>
  <Command>"C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Command>
  <Arguments>-ExecutionPolicy Bypass</Arguments>
<Exec>

Acho que precisa ser configurado assim para executar o PowerShell do Agendador de tarefas. . .

<Exec>
  <Command>Powershell</Command>
  <Arguments>-ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Arguments>
</Exec>

Então a partir doAçãoaba você criará umAçãodefinido como:

  • Ação: Start a program
  • Programa/roteiro: Powershell
  • Adicione argumentos (opcional): -ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"
  • Comece em (opcional): C:\Windows\System32\WindowsPowerShell\v1.0 insira a descrição da imagem aqui

Além disso, algumas dessas opções no seu caso podem ajudar, mas com base na segurança e na sua configuração, não estou 100% necessário, mas são fáceis de testar. . .

DeEm geralguia da tarefa agendada, certifique-se de que aExecute se o usuário estiver conectado ou nãoe aExecute com privilégios mais altosambas as opções estão selecionadas.

insira a descrição da imagem aqui

Recursos adicionais


informação relacionada