Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 01.08.2007, 14:44   #1
Member
 
Offline
Registriert seit: 04-2007
Beiträge: 141
Virtual Server Maschinen per Skript anhalten/fortsetzen

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:
Code:
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:
Code:
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

Signatur
done: 70-270 / 70-290 / 70-291 / 70-293 / 70-294 / 70-299 / 70-649 / 70-298 / 70-351 / MB2-631 / MB2-633 / 70-432 / 70-662 / 70-680
next: 70-647 / wh0kn0ws

    Mit Zitat antworten
Alt 01.08.2007, 16:57   #2
Moderator
 
Offline
Registriert seit: 11-2002
Beiträge: 6.666
was bekommst du denn für eine Meldung? Evtl. mal mit SP! versuchen

cu
blub

Signatur
www.powershellpraxis.de

Nec Cupias, Nec Metuas

    Mit Zitat antworten
Alt 01.08.2007, 17:57   #3
Member
 
Offline
Registriert seit: 04-2007
Beiträge: 141
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

Signatur
done: 70-270 / 70-290 / 70-291 / 70-293 / 70-294 / 70-299 / 70-649 / 70-298 / 70-351 / MB2-631 / MB2-633 / 70-432 / 70-662 / 70-680
next: 70-647 / wh0kn0ws

    Mit Zitat antworten
Alt 01.08.2007, 19:22   #4
Gast
 
Offline
Registriert seit: 12-2004
Ort: irgendwo im Filesystem
Beiträge: 2.657
Nimm mal 'On Error' raus, was passiert?
    Mit Zitat antworten
Alt 01.08.2007, 19:33   #5
Member
 
Offline
Registriert seit: 04-2007
Beiträge: 141
Werde ich Montag testen.

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

Gruß
Stefan

Signatur
done: 70-270 / 70-290 / 70-291 / 70-293 / 70-294 / 70-299 / 70-649 / 70-298 / 70-351 / MB2-631 / MB2-633 / 70-432 / 70-662 / 70-680
next: 70-647 / wh0kn0ws

    Mit Zitat antworten
Alt 15.08.2007, 09:01   #6
Newbie
 
Offline
Registriert seit: 08-2007
Beiträge: 3
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!
    Mit Zitat antworten
Alt 15.08.2007, 09:16   #7
Moderator
 
Offline
Registriert seit: 11-2002
Beiträge: 6.666
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

Signatur
www.powershellpraxis.de

Nec Cupias, Nec Metuas

    Mit Zitat antworten
Alt 15.08.2007, 09:24   #8
Newbie
 
Offline
Registriert seit: 08-2007
Beiträge: 3
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()
    Mit Zitat antworten
Alt 31.12.2007, 09:18   #9
Member
 
Offline
Registriert seit: 04-2007
Beiträge: 141
Mahlzeit,

ich wollte nur nochmal Rückmeldung geben.
Das Skript funktioniert nun. ich hatte wohl eine Statuszahl vertauscht.

Hier nun das funktionierende Script

Anhalten:
Code:
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
Code:
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:
Code:
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.

Viele Grüße
Stefan

Signatur
done: 70-270 / 70-290 / 70-291 / 70-293 / 70-294 / 70-299 / 70-649 / 70-298 / 70-351 / MB2-631 / MB2-633 / 70-432 / 70-662 / 70-680
next: 70-647 / wh0kn0ws

    Mit Zitat antworten
Alt 02.01.2008, 22:32   #10
Moderator
 
Offline
Registriert seit: 11-2002
Beiträge: 6.666
Hallo Stefan,
Danke für die Rückmeldung und den Code

Dir auch ein erfolgreiches 2008

cu
blub

Signatur
www.powershellpraxis.de

Nec Cupias, Nec Metuas

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Performancevergleich von virtuellen Maschinen zu physischen Maschinen Manuel89 Virtualisierung 12 21.04.2010 22:57
Virtual Server 2005 R2 - Nach Reboot Maschinen automatisch starten? StefanK Virtualisierung 3 31.12.2007 19:14
WSUS Server anhalten Krombi666 Windows Server Forum 11 05.11.2007 22:26
virtual server 2003 maschinen ans internet hängen srkonus Virtualisierung 6 13.06.2007 19:07
VMware Maschinen unter Virtual Server catal82 Virtualisierung 15 12.11.2006 20:10


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:25 Uhr. Seite generiert in 0,042 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang