Gast Geschrieben 1. August 2007 Melden 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
blub 115 Geschrieben 1. August 2007 Melden Geschrieben 1. August 2007 was bekommst du denn für eine Meldung? Evtl. mal mit SP! versuchen cu blub
Gast Geschrieben 1. August 2007 Melden 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
Das Urmel 10 Geschrieben 1. August 2007 Melden Geschrieben 1. August 2007 Nimm mal 'On Error' raus, was passiert?
Gast Geschrieben 1. August 2007 Melden 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
JackSlain 10 Geschrieben 15. August 2007 Melden 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!
blub 115 Geschrieben 15. August 2007 Melden 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
JackSlain 10 Geschrieben 15. August 2007 Melden 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()
Gast Geschrieben 31. Dezember 2007 Melden 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
blub 115 Geschrieben 2. Januar 2008 Melden Geschrieben 2. Januar 2008 Hallo Stefan, Danke für die Rückmeldung und den Code Dir auch ein erfolgreiches 2008 cu blub
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden