none
levantar maquina virtual si no hay ping.. RRS feed

  • Pregunta

  • Buenas os cuento lo que necesito hacer,

     

    tengo un servidor A que aleatoriamente se cae, mientras encuentro la solución paralelamente a esto, quiero que mi script levante una maquina virtual (Virtual Server R2) desde el servidor B cuando no haga ping el servidor A. (siendo la VM, una conversión p2v del servidor A)

     

    Estoy con este script no funcional:

     

    miscript.vbs <-- lo ejecuto en servidor B (C:\>cscript.exe miscript.vbs)

     

    machine = "w.x.y.z;" <-- servidor A
    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").machine
              If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
                 WScript.Echo("Computer " & machine & " is not reachable") <-- si no hay ping
                On Error Resume Next <-- empieza código a levantar la VM
                Set objVS = CreateObject("VirtualServer.Application")
                Set objVM = objVS.FindVirtualMachine("miVM")
                objVM.Startup() <-- fin código a levantar la VM
             else
                WScript.Message("Hay ping")<-- si hay ping
             End If
           Next
    End

     

    Es que estoy empezando a meterme con scripting...

    ¿alguien puede guiarme para completar lo que necesito conseguir?

     

     

    Muchas gracias de antemano

    martes, 29 de abril de 2008 10:53

Respuestas

  • Prueba con este:

     

    Code Snippet

     

    machine = "w.x.y.z"

    Set oShell = WScript.CreateObject("WScript.Shell")
    Ping = oShell.Run("ping -n 1 " & machine, 0, True)

    If Ping <> 0 Then
     rem Wscript.Echo "no ping"
     Set oVS = CreateObject("VirtualServer.Application")
     Set oVM = oVS.FindVirtualMachine("miVM")
     oVM.Startup()
    End If

     

     

     

    Ponlo en una tarea programada que se ejecute cada x tiempo.
    martes, 29 de abril de 2008 12:25

Todas las respuestas

  • Prueba con este:

     

    Code Snippet

     

    machine = "w.x.y.z"

    Set oShell = WScript.CreateObject("WScript.Shell")
    Ping = oShell.Run("ping -n 1 " & machine, 0, True)

    If Ping <> 0 Then
     rem Wscript.Echo "no ping"
     Set oVS = CreateObject("VirtualServer.Application")
     Set oVM = oVS.FindVirtualMachine("miVM")
     oVM.Startup()
    End If

     

     

     

    Ponlo en una tarea programada que se ejecute cada x tiempo.
    martes, 29 de abril de 2008 12:25
  • El resultado del script que me dices:

     

    C:\script>cscript.exe miscript.vbs                                                                 
    Microsoft (R) Windows Script Host versión 5.6                                               
    Copyright (C) Microsoft Corporation 1996-2001. Reservados todos los derechos.

                                                                                                                       
    C:\script>

     

    Puede que me falte por instalar algo, qué me dices Pablo..

     

    Gracias por el interés

    martes, 29 de abril de 2008 14:41
  •  

    ese es el encabezado que tira el cscript.

    Ponele un par de Wscript.echo para ver por donde pasa.

     

    Lo acabo de probar y esta funcionando

    martes, 29 de abril de 2008 15:04
  • Pablo hay alguna forma de ver cuando corre el script pues veo que esto me puede funcionar para otro tipo de equipo, es decir como podria ver la ejecución en dado caso que este bien, Gracias.

     

    viernes, 2 de mayo de 2008 20:09
  • Puedes poner en el scritp algun wscript.echo para ver por donde esta pasando el script

     

     

     

    Code Snippet

    machine = "w.x.y.z"

    Set oShell = WScript.CreateObject("WScript.Shell")
    Ping = oShell.Run("ping -n 1 " & machine, 0, True)

    Wscript.Echo Ping

    If Ping <> 0 Then
     Wscript.Echo "no ping"
     Set oVS = CreateObject("VirtualServer.Application")
     Set oVM = oVS.FindVirtualMachine("miVM")
     oVM.Startup()
    End If

     

     

     

     

     

    El script no te funciono?

    domingo, 4 de mayo de 2008 2:47
  • disculpa por la amplia demora.

     

    Al final lo hicimos sin el script, pasomos al infraestructura clúster, ya que no se fiaban de la ejecución de un script.. ya ya si yo pienso lo mismo que tú.. es suya la pasta.. ellos verán. Lo malo que la infraestrustura que había no la he podido mantener asi que probraré esto cuando disponga de algo de tiempo en el laboratorio de test.

     

    Muchas gracias.

    Un saludo,

    martes, 8 de julio de 2008 8:50