Jump to content

Virtual Server Maschinen per Skript anhalten/fortsetzen


Gast
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

vor einiger Zeit habe ich zwei Scripts geschrieben. Das eine hält eine

bestimmte Maschine an, das zweite lässt die Maschine fortsetzen. Das braucht

man zu Sicherungszwecken, da laufende Maschinen nur im Angehaltenen Modus

gesichert werden können.

 

Mit einer bestimmten Maschine funktioniert das ganz gut. Leider funktioniert

nur das jetzige Skript zum Anhalten der Maschinen. Das Skript zum Fortsetzen nicht. Kann

mir jemand sagen was ich da falsch mache?

 

Es handelt sich um den Virtual Server 2005 R2 auf einem Windows 2003 Server

SP1.

 

Hier meine beiden Skripte.

 

Anhalten von Laufenden Maschinen:


On Error Resume Next

Set objShell = CreateObject ("WScript.Shell")
Set virtualServer = CreateObject("VirtualServer.Application")

For each objVM in virtualServer.VirtualMachines
'Falls die virtuelle Maschine läuft
If objVM.State = 5 then
 'wird sie anhalten
 objVM.Pause
        WScript.Sleep 500
end if
Next

Set objVM = Nothing

 

 

Fortsetzen aller angehaltenen Maschinen:


On Error Resume Next

Set objShell = CreateObject ("WScript.Shell")
Set virtualServer = CreateObject("VirtualServer.Application")

For each objVM in virtualServer.VirtualMachines
'Falls die virtuelle Maschine angehalten wurde
If objVM.State = 2 then
 'wird sie nun fortgesetzt
 objVM.Resume
        WScript.Sleep 500
end if
Next

Set objVM = Nothing

 

Viele Grüße

Stefan

Link zu diesem Kommentar

Es kommt leider keine Meldung. Muss mir das nochmal genauer anschauen, aber ich dachte vielleicht hat jemand schon ähnliche Probleme gehabt und es ist einfach zu lösen.

 

Die Befehle sind an sich richtig. Kann eigentlich nur ein "Zeit-Problem" sein.

 

Gruß

Stefan

Link zu diesem Kommentar
  • 2 Wochen später...

Hallo,

 

das ist ein Thema das mich auch interessiert vielleicht könnt ihr mir weiterhelfen...

 

Ich brauche ein ähnliches Script wenn nicht das gleiche + eine Zusatzfunktion:

 

1. Virtuelle Maschine in "Save"-Status bringen

2. Wegkopieren

3. Wieder starten

 

Dann noch ganz wichtig...wie packe ich das alles in eine Scriptdatei so dass ich diese nur noch ausführen muss?

 

Danke schonmal!

Link zu diesem Kommentar

Leider kann ich da nicht viel finden...

 

Bei mir brennt die Hütte, muss das bis heute Abend hinbekommen...

 

Ich hab da was gefunden bin mir aber nicht sicher ob das hilft:

 

-----------------------------------Stoppen-------------------------------------------

On Error Resume Next

 

Set objVS = CreateObject("VirtualServer.Application")

Set objVM = objVS.FindVirtualMachine("Windows 2000 Server")

objVM.Pause()

 

------------------------------------Save------------------------------------------

On Error Resume Next

 

Set objVS = CreateObject("VirtualServer.Application")

Set objVM = objVS.FindVirtualMachine("Windows 2000 Server")

 

errReturn = objVM.Save()

 

----------------------------------Start--------------------------------------------

On Error Resume Next

 

Set objVS = CreateObject("VirtualServer.Application")

Set objVM = objVS.FindVirtualMachine("Windows 2000 Server")

objVM.Resume()

Link zu diesem Kommentar
  • 4 Monate später...

Mahlzeit,

 

ich wollte nur nochmal Rückmeldung geben.

Das Skript funktioniert nun. ich hatte wohl eine Statuszahl vertauscht. :suspect:

 

Hier nun das funktionierende Script

 

Anhalten:

On Error Resume Next

Set objShell = CreateObject ("WScript.Shell")
Set virtualServer = CreateObject("VirtualServer.Application")

For each objVM in virtualServer.VirtualMachines
'Falls die virtuelle Maschine läuft
If objVM.State = 5 then
	'wird sie anhalten
	objVM.Pause
        WScript.Sleep 500
end if
Next

Set objVM = Nothing

 

Fortsetzen angehaltener Maschinen

On Error Resume Next

Set objShell = CreateObject ("WScript.Shell")
Set virtualServer = CreateObject("VirtualServer.Application")

For each objVM in virtualServer.VirtualMachines
'Falls die virtuelle Maschine angehalten wurde
If objVM.State = 6 then
	'wird sie nun fortgesetzt
	objVM.Resume
        WScript.Sleep 500
end if
Next

Set objVM = Nothing

 

Die mir bekannten Statuscodes und Befehle:

möglicher Status (objVM.State)
1 = aus
2 = Status gespeichtert
5 = an
6 = angehalten

3 = wird gestartet
7 = wird gespeichert

mögliche Befehle

objVM.Pause			'anhalten
objVM.Resume			'fortfahren (auch bei .Save?)
objVM.Save			'Status speichern
objVM.DiscardSavedState		'gepeichterten Status löschen
objVM.Startup			'starten
objVM.TurnOff			'ausschalten
objVM.GuestOS.Shutdown		'GastOS runterfahren

 

 

Ich wünsche allen einen guten Rutsch ins Jahr 2008. :D

 

Viele Grüße

Stefan

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...