none
Status do serviço stoping, como alterar codigo para monitorar. RRS feed

  • Pergunta

  • Ba galera.

    por favor me de uma força tche.

    utilizo o script abaixo para monitorar serviços tche, e caso ele stop, o script inicia o serviço, mas agora estou com um problema, tenho um serviço que fica em status stoping, por algum motivo que ainda esta sendo estudado pelo desenvolvedor da aplicação, eu gostaria de alterar este script para que quando este serviço ficar nesta condição ele mande um echo na tela de uma estação especifica tche, alguém consegue me ajudar.

    obrigado.

     

    codigo

    strComputer = "."

    While1 = 1

        Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
        strWQL = "SELECT * " & _
            "FROM __InstanceModificationEvent " & _
            "WITHIN 2 " &_
            "WHERE TargetInstance ISA 'Win32_Service' " & _
            "AND TargetInstance.Name = 'DNSCACHE'" & _
            "AND TargetInstance.State = 'Stopped'"
            
        Set objEventSource = objWMIService.ExecNotificationQuery(strWQL)
            WScript.Echo"Monitorando o serviço DNS Cache !!!"
        Set objEventObject = objEventSource.NextEvent()
            WScript.Echo"O serviço DNS Cache acabou de ser interrompido....aguarde alguns segundos."
            WScript.Sleep(5000)
            WScript.Echo"Tentando reiniciar o serviço da web usando a ferramenta net.exe."
        Set objShell = CreateObject("WScript.Shell")
            objShell.Run"%COMSPEC% /c net start DNSCACHE",,1
            WScript.Echo"Serviço DNS Cache reiniciado"

    Wend

    segunda-feira, 29 de abril de 2013 17:45

Respostas

  • Bom dia Marcelo,

    Bom será necessário verificar se quando você roda o script ele indentifica esse estado do serviço, por exemplo, se você roda o script abaixo coloque o nome do serviço que apresenta essa condição, e verifique se ele retorna com o estado "stoping", caso sim, você poderia adaptar ao seu script ou colocar no final dele para checar especificamente esse serviço, dai é so colocar um IF para apresentar a mensagem, qnd estiver na condição errada, mas fazer aparecer a janela em outra estação, você poderia configurar para criar um log com o nome da estação e usuário logado...

    mas faça um teste, isso é apenas uma ideia do que pode ser feito....

    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery(  "SELECT * FROM Win32_Service Where Caption ='Windows Update'")
    For Each objItem in colItems
    
        Wscript.Echo "Serviço: " & objItem.State
    Next


    att, Aparecido Deveza

    • Sugerido como Resposta fernando silva 1 terça-feira, 30 de abril de 2013 14:44
    • Marcado como Resposta Marcelo TI terça-feira, 30 de abril de 2013 20:18
    terça-feira, 30 de abril de 2013 11:41

Todas as Respostas

  • Bom dia Marcelo,

    Bom será necessário verificar se quando você roda o script ele indentifica esse estado do serviço, por exemplo, se você roda o script abaixo coloque o nome do serviço que apresenta essa condição, e verifique se ele retorna com o estado "stoping", caso sim, você poderia adaptar ao seu script ou colocar no final dele para checar especificamente esse serviço, dai é so colocar um IF para apresentar a mensagem, qnd estiver na condição errada, mas fazer aparecer a janela em outra estação, você poderia configurar para criar um log com o nome da estação e usuário logado...

    mas faça um teste, isso é apenas uma ideia do que pode ser feito....

    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery(  "SELECT * FROM Win32_Service Where Caption ='Windows Update'")
    For Each objItem in colItems
    
        Wscript.Echo "Serviço: " & objItem.State
    Next


    att, Aparecido Deveza

    • Sugerido como Resposta fernando silva 1 terça-feira, 30 de abril de 2013 14:44
    • Marcado como Resposta Marcelo TI terça-feira, 30 de abril de 2013 20:18
    terça-feira, 30 de abril de 2013 11:41
  • Ba Aparecido

    Gostei da ideia tche, vou utilizar, obrigado.

    terça-feira, 30 de abril de 2013 20:18