Usuário com melhor resposta
Executar VBS via Task Scheduler no W2008 R2

Pergunta
-
Pessoal, tenho um script em VBS que faz alguns comandos, quando clico nele ou executo no prompt do comando com a linha c:\cscript.exe nome-do-vbs tudo funciona normalmente.
Ao criar um schedule através do schedule do windows 2008 R2 apontando diretamente para esse VBS ele trava totalmente, fica executando o tempo todo mas sem rodar nada. Não é permissão NTFS, já mandei rodar com privilégio e conta de domain admin e nada.
Criei um BAT chamando este VBS e ocorre a mesma coisa, se clico no BAT ou chamo via prompt funciona, se colocar no schedule trava tudo !
Alguma idéia ?
Respostas
-
Nem olhei todo script mas já vi uma coisa que costuma ser o problema, esta linha:
strTextFile = "users.txt"
Vc não colocou o caminho completo do arquivo, então ele considera que está na mesma pasta "onde" está sendo executado o script e não "onde está" o script.
Quando vc executa dando dois cliques a pasta de execução é onde está o script, mas pelo taskscheduler ele deve estar pegando no %system32% (não tenho certeza).
Experimente colocar o caminho completo do arquivo e faça o teste.
Fábio de Paula Junior
- Marcado como Resposta Cesar_Alex terça-feira, 27 de novembro de 2012 18:39
Todas as Respostas
-
-
Este script reseta licenças de usuários a partir de um txt. Se clicar nele ou chamar via prompt de comando funciona, só via task scheduler do windows que não.
Option Explicit
Dim objFSO, strTextFile, strData, strLine, arrLines, objShell, strTmp, strFeature, strUserDev
CONST ForReading = 1
set objShell = wscript.createObject("wscript.shell")
'Name of the text file to be read
strTextFile = "users.txt"
'ADJUST strFeature AS PER REQUIREMENTS
strFeature = "XDT_PLT_UD"
'ADJUST strUserDev AS PER REQUIREMENTS
strUserDev = "user"
'Create a File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Open the text file - strData now contains the whole file
strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll
'Split the text file into lines
arrLines = Split(strData,vbCrLf)
'Step through the lines
For Each strLine in arrLines
strTmp = "cmd /C udadmin -f " & strFeature & " -" & strUserDev & " " & strLine & " -delete"
'To see the command being, run add a line below with wscript.echo strtmp
objShell.Run strTmp
'wscript.echo strTmp
Next
'Cleanup
Set objFSO = Nothing -
Nem olhei todo script mas já vi uma coisa que costuma ser o problema, esta linha:
strTextFile = "users.txt"
Vc não colocou o caminho completo do arquivo, então ele considera que está na mesma pasta "onde" está sendo executado o script e não "onde está" o script.
Quando vc executa dando dois cliques a pasta de execução é onde está o script, mas pelo taskscheduler ele deve estar pegando no %system32% (não tenho certeza).
Experimente colocar o caminho completo do arquivo e faça o teste.
Fábio de Paula Junior
- Marcado como Resposta Cesar_Alex terça-feira, 27 de novembro de 2012 18:39
-