Jump to content
Sign in to follow this  
StefanK

Virtual Server Maschinen per Skript anhalten/fortsetzen

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Werde ich Montag testen.

 

Was wird vermutlich passieren? Wird er beim Fehler einfach kommtarlos stehenbleiben, oder meinst da erscheint ne Fehlermeldung?

 

Gruß

Stefan

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

Hi,

Es gibt eine Reihe von Webcasts, die sich mit dem Scripting von Virtual Server beschäftigen

Find Events and Webcasts

 

Ich kann mir vorstellen, dass hier etwas dabei ist. Gebt doch bitte Rückmeldung, wenn ihr etwas findet. Die Aufgabenstellung interessiert bestimmt viele Leser

 

cu

blub

Share this post


Link to post
Share on other sites

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()

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...