Desculpas se isso tiver uma resposta realmente óbvia!
Temos várias tarefas diárias que executamos por meio de um script .vbs em nosso servidor (por meio do Agendador de Tarefas ), e por meses está tudo bem, mas recentemente encontramos um problema. Os scripts .vbs pararam de executar com sucesso (sempre expirando) ... mas ainda podiam ser executados manualmente sem problemas (!).
Sem saber o motivo pelo qual o Agendador de Tarefas deve começar a ter problemas, pensamos em tentar um pouco de "pensamento criativo" e executar o .vbs de outra maneira: Por meio de um arquivo .bat executado pelo Agendador de Tarefas. Novamente, nós encontramos problemas estranhos, mas com um pouco mais de informação de depuração, desta vez.
O arquivo .bat executado pelo Agendador de Tarefas nada mais é do que ...
CScript "C:\location\script.vbs" > Log.txt
Mas após uma tentativa de executá-lo, o Agendador de Tarefas falha com o seguinte erro:
0x1: An incorrect function was called or an unknown function was called.
O Log.txt (como saída do arquivo .bat acima) diz:
CScript Error: Initialization of the Windows Script Host failed. (Not enough storage is available to process this command. )
Mas faça o seguinte: O arquivo .bat é executado perfeitamente (script vbs e tudo) se for executado com um duplo clique! Há apenas um problema quando é executado pelo Agendador de Tarefas. Que diabos?
Estamos executando o Windows Server 2008 R2 (x64) e, sim, os resultados do Task Sheduler são os mesmos, independentemente de o usuário estar logado ou não. Além disso, o usuário que pode executar os scripts manualmente com êxito também é o mesmo usuário que executa os scripts no Agendador de Tarefas.
Obrigado por qualquer ajuda para este problema estranho!