Gast Geschrieben 1. August 2007 Melden Teilen Geschrieben 1. August 2007 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 1. August 2007 Melden Teilen Geschrieben 1. August 2007 was bekommst du denn für eine Meldung? Evtl. mal mit SP! versuchen cu blub Zitieren Link zu diesem Kommentar
Gast Geschrieben 1. August 2007 Melden Teilen Geschrieben 1. August 2007 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 Zitieren Link zu diesem Kommentar
Das Urmel 10 Geschrieben 1. August 2007 Melden Teilen Geschrieben 1. August 2007 Nimm mal 'On Error' raus, was passiert? Zitieren Link zu diesem Kommentar
Gast Geschrieben 1. August 2007 Melden Teilen Geschrieben 1. August 2007 Werde ich Montag testen. Was wird vermutlich passieren? Wird er beim Fehler einfach kommtarlos stehenbleiben, oder meinst da erscheint ne Fehlermeldung? Gruß Stefan Zitieren Link zu diesem Kommentar
JackSlain 10 Geschrieben 15. August 2007 Melden Teilen Geschrieben 15. August 2007 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! Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 15. August 2007 Melden Teilen Geschrieben 15. August 2007 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 Zitieren Link zu diesem Kommentar
JackSlain 10 Geschrieben 15. August 2007 Melden Teilen Geschrieben 15. August 2007 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() Zitieren Link zu diesem Kommentar
Gast Geschrieben 31. Dezember 2007 Melden Teilen Geschrieben 31. Dezember 2007 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 2. Januar 2008 Melden Teilen Geschrieben 2. Januar 2008 Hallo Stefan, Danke für die Rückmeldung und den Code Dir auch ein erfolgreiches 2008 cu blub Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.