none
Executar VBS via Task Scheduler no W2008 R2 RRS feed

  • 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 ?

    terça-feira, 27 de novembro de 2012 18:08

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
    terça-feira, 27 de novembro de 2012 18:28
    Moderador

Todas as Respostas

  • O que tem dentro do .VBS?

    Fábio de Paula Junior

    terça-feira, 27 de novembro de 2012 18:14
    Moderador
  • 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

    terça-feira, 27 de novembro de 2012 18:24
  • 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
    terça-feira, 27 de novembro de 2012 18:28
    Moderador
  • Grande Fábio, não é que era isto mesmo ?

    Muito obrigado pelo apoio ! Estranho ele não pegar a pasta principal, no início antes da execução via schedule eu até havia colocado isto mas depois tirei pois funcionava via click !

    terça-feira, 27 de novembro de 2012 18:41