Principales respuestas
levantar maquina virtual si no hay ping..

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
EndEs que estoy empezando a meterme con scripting...
¿alguien puede guiarme para completar lo que necesito conseguir?
Muchas gracias de antemano
Respuestas
-
Prueba con este:
Code Snippetmachine = "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
Todas las respuestas
-
Prueba con este:
Code Snippetmachine = "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 -
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
-
-
-
Puedes poner en el scritp algun wscript.echo para ver por donde esta pasando el scriptCode 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 IfEl script no te funciono?
-
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,