none
Script para executar um comando após um determinado tempo RRS feed

  • Pergunta

  • Boa tarde,

    alguém sabe como fazer um script para executar um determinado comando após um período de tempo?

    Por exemplo, estou precisando executar um comando 50 segundos após o usuário fazer logon. Já procurei na internet mas não achei em nenhum lugar.

    Agradeço a ajuda.

    quinta-feira, 7 de fevereiro de 2008 18:19

Respostas

  • Ola Rafael,

     

    Nao vai encontrar o sleep em GPO, e um comando na linguagem vbscript por exemplo

     

    wscripte.echo "Iniciando script e logo apos contar 30 segundos"

    sleep(30000)

    wscript.echo "Voltando apos 30 segundos ....."

     

    salva esse codigo como contagem.vbs e execute-o, ele vai exibir a mensagem "Iniciando script e logo apos contar 30 segundos" e depois vai esperar 30 segundos depois disso irá exibir a seguinte mensagem "Voltando apos 30 segundos .....", depois disso você vai na GPO abra a GPO, você pode configurar por estação ou por usuário dentro de cada existe uma seção chamada "Configurações do windows"  expanda ela e você verá "scripts(logon/logoff)" ou se teu windows for portugues vai estar "scripts(inicializacao/encerramento), entre nesta seção terá 2 opções para "fazer logon" e para "fazer logoff", ai clique em fazer logon e adicione o o script antes disso coloque o script no compartilhamento netlogon para ser executado por qualquer usuário, mande aplicar a gpo na estação "gpupdate /force".

     

    Espero ter ajudado

     

    Atenciosamente.

     

    obs: se o post ajudou marque-o

    sexta-feira, 8 de fevereiro de 2008 12:19


  • Rafael segue exemplo de um script vbs usando sleep
    Modifique de acordo com suas necessidades....
    Não remova os comentários ou o mérito de quem desenvolveu o script.
    Para mais scripts do autor acesse:
    http://www.computerperformance.co.uk/ezine/ezine26.htm

    ' SendKeys.vbs
    ' Example VBScript Run Notepad and use SendKeys
    ' Author Guy Thomas http://computerperformance.co.uk/
    ' Ezine 26 Version 1.8 - June 2005
    ' -----------------------------------------------------'
    Option Explicit
    Dim objShell, Racey, intCount
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "notepad"
    Wscript.Sleep 1500
    Racey = 1000
    intCount=0

    Do While intCount < 7
    objShell.SendKeys "Hello Guy"
    objShell.SendKeys "{TAB}"
    objShell.SendKeys "This is line: " & intCount
    objShell.SendKeys "{ENTER}"
    WScript.Sleep Racey
    intCount = intCount + 1
    Racey = Racey - 100
    Loop
    objShell.SendKeys "%F"
    WScript.Sleep 1500
    objShell.SendKeys "x"
    WScript.Sleep 1500
    objShell.SendKeys "{TAB}"
    WScript.Sleep 500
    objShell.SendKeys "{ENTER}"

    WScript.Quit
    ' End of Example SendKeys VBScript


    Boa sorte
    Abraço!!!
    sexta-feira, 8 de fevereiro de 2008 23:22

Todas as Respostas

  • Voce pode usar um script no logon script fazer o script dormir apos 50 segundos executar oque você quer, comando para dormir é sleep(tempo), para 5 segundos sleep(5000)

     

    espero ter ajudado

    Atenciosamente.

     

    obs: se o post lhe ajudou marque-o Big Smile

    quinta-feira, 7 de fevereiro de 2008 18:25
  • Obrigado pelo apoio Ricardo, mas não consegui encontrar essa opção (sleep). Eu configuro ela na console da GPO?

    sexta-feira, 8 de fevereiro de 2008 10:28
  • Ola Rafael,

     

    Nao vai encontrar o sleep em GPO, e um comando na linguagem vbscript por exemplo

     

    wscripte.echo "Iniciando script e logo apos contar 30 segundos"

    sleep(30000)

    wscript.echo "Voltando apos 30 segundos ....."

     

    salva esse codigo como contagem.vbs e execute-o, ele vai exibir a mensagem "Iniciando script e logo apos contar 30 segundos" e depois vai esperar 30 segundos depois disso irá exibir a seguinte mensagem "Voltando apos 30 segundos .....", depois disso você vai na GPO abra a GPO, você pode configurar por estação ou por usuário dentro de cada existe uma seção chamada "Configurações do windows"  expanda ela e você verá "scripts(logon/logoff)" ou se teu windows for portugues vai estar "scripts(inicializacao/encerramento), entre nesta seção terá 2 opções para "fazer logon" e para "fazer logoff", ai clique em fazer logon e adicione o o script antes disso coloque o script no compartilhamento netlogon para ser executado por qualquer usuário, mande aplicar a gpo na estação "gpupdate /force".

     

    Espero ter ajudado

     

    Atenciosamente.

     

    obs: se o post ajudou marque-o

    sexta-feira, 8 de fevereiro de 2008 12:19
  • Bom dia Ricardo,

    Me desculpe a ignorância, mas na verdade eu não entendo nada de vbscript, então estou utilizando uma bat e queria que um determinado trecho dessa "bat" executasse após um pequeno intervalo de tempo. Você poderia me auxiliar nisso? Não sei se isso é possível, caso não encontre uma solução, terei de "apanhar" um pouco e aprender vbscript.

    Obrigado

    sexta-feira, 8 de fevereiro de 2008 12:53
  • Ola Rafael,

     

    E o mesmo conceito do post anterior exceto que em BAT o comando de contagem seria sleep tempo em segundos, veja o exemplo abaixo.

     

    echo "Iniciando script e logo apos contar 10 segundos"

    sleep 10

    echo "Voltando apos 10 segundos ....."

     

    Espero ter ajudado.

     

    Atenciosamente.

     

    obs: se o post ajudou marque-o Big Smile

    sexta-feira, 8 de fevereiro de 2008 13:55
  • Mais uma vez, me desculpe a ignorância, mas nesse exemplo acima, com que extensão eu salvaria o arquivo? .bat ou .vbs?

     

    sexta-feira, 8 de fevereiro de 2008 14:01
  • Ola Rafael,

    Sim e .bat Smile

    Atenciosamente.
    sexta-feira, 8 de fevereiro de 2008 14:46
  • Cara, a coisa aqui tá feia mesmo.

    Salvei com a extensão .bat, mas não funcionou, pois não existe esse comando (sleep) no DOS, então o script retorna o erro informando que esse comando não é reconhecido como um comando interno.

    sexta-feira, 8 de fevereiro de 2008 19:44


  • Rafael segue exemplo de um script vbs usando sleep
    Modifique de acordo com suas necessidades....
    Não remova os comentários ou o mérito de quem desenvolveu o script.
    Para mais scripts do autor acesse:
    http://www.computerperformance.co.uk/ezine/ezine26.htm

    ' SendKeys.vbs
    ' Example VBScript Run Notepad and use SendKeys
    ' Author Guy Thomas http://computerperformance.co.uk/
    ' Ezine 26 Version 1.8 - June 2005
    ' -----------------------------------------------------'
    Option Explicit
    Dim objShell, Racey, intCount
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "notepad"
    Wscript.Sleep 1500
    Racey = 1000
    intCount=0

    Do While intCount < 7
    objShell.SendKeys "Hello Guy"
    objShell.SendKeys "{TAB}"
    objShell.SendKeys "This is line: " & intCount
    objShell.SendKeys "{ENTER}"
    WScript.Sleep Racey
    intCount = intCount + 1
    Racey = Racey - 100
    Loop
    objShell.SendKeys "%F"
    WScript.Sleep 1500
    objShell.SendKeys "x"
    WScript.Sleep 1500
    objShell.SendKeys "{TAB}"
    WScript.Sleep 500
    objShell.SendKeys "{ENTER}"

    WScript.Quit
    ' End of Example SendKeys VBScript


    Boa sorte
    Abraço!!!
    sexta-feira, 8 de fevereiro de 2008 23:22
  • Com relação a bats vc preica baixar o comando sleep em provavelmente copia-lo para dentro de system32 da maquina que vc quer que execute o script

    http://www.computerhope.com/dutil.htm

    http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en


    sucesso!!!

    sexta-feira, 8 de fevereiro de 2008 23:25
  •  

    Valeu mesmo Romeu!! Nem precisei utilizar o sleep em uma bat, adicionei algumas linhas no exemplo que você colocou como vbs e agora consegui o que queria, impedir o login simultâneo dos usuários e mais de uma estação. Sem utilizar o limitlogin, claro.

    Grande abraço!

    segunda-feira, 11 de fevereiro de 2008 16:03
  • Boa noite Rafael estou com o mesmo problema de login simuntaneo na rede teria como me ajudar com a sua solucao ja funcionando..

    sexta-feira, 20 de julho de 2012 00:20