Hallo,
ich lasse den VMware Player als Windows Dienst automatisch hochlaufen, ähnlich dem GSX Server, funzt auch recht gut. Einziges Problem: Beim Herunterfahren des Host wird der Dienst natürlich auch beendet, was zur Folge hat, dass das Gast OS im Player abgewürgt wird. Nun meine Frage: gibt es eine Möglichkeit dies besser zu machen? Kann ich den VMware Player in einem Script auf eine Art Ferngesteuert herunterfahren, bevor der Dienst beendet wird.
Gruss & vielen Dank für Eure Mühe!
Puemer
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
VMware Player per script herunterfahren, nicht "abwürge
Hallo Zusammen,
Habe zur Zeit das gleiche Problem, aber ich habe folgenden Versuch gestartet und zwar mit
gpedit.msc -> Computer Configuration -> Windows Settings -> Scripts (Startup/Shutdown) -> Shutdown
unter Shutdown habe ich folgendes Script hinzugefügt shutdown.vbs
das Script wird in folgendes Verzeichnis gespeichert
%windir%\System32\GroupPolicy\Machine\Scripts\Shutdown
Mit dem psshutdown.exe kann man ein Remote System einen Shutdown ausführen lassen danach warte ich xxx Sekunden.
Habe das ganze noch überarbeitet und zwar so
Old Code from shutdown.vbs
Set WshShell = CreateObject("WScript.Shell")
Return = WshShell.Run("psshutdown.exe -k \\<Remote Server> -u administrator -p Password -t 0 -f",,true)
WScript.Sleep 300000 '60000 = 1min
Anstatt xxx sekunden warten schaue ich ob der Win32_Process vmware-vmx.exe noch läuft, sobald der Process nicht mehr läuft wird der Host heruntergefahren oder wenn der Process ewig läuft wird nach 10min oder so der Host auch runtergefahren zur Sicherheit.
Nun das fertige shutdown.vbs Script
Set WshShell = CreateObject("WScript.Shell")
On error resume next
Return = WshShell.Run("D:\VMWareImages\psshutdown.exe -k \\<Servername> -u <Username> -p Password -t 2 -f")
WScript.Sleep 5000
zaehler = 0
meineZahl = 100
WshShell.LogEvent 1, "System wird heruntergefahren"
Do Until meineZahl = 0
meineZahl = meineZahl - 1
zaehler = zaehler + 1
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'vmware-vmx.exe'")
If colProcesses.Count = 0 Then
WshShell.LogEvent 4, "System heruntergefahren"
WScript.Quit
Else
WScript.Sleep 15000
End If
If zaehler = 20 Then
WshShell.LogEvent 4, "Nach 5 min System heruntergefahren"
WScript.Quit
End If
Loop
Gruss Markus
Habe zur Zeit das gleiche Problem, aber ich habe folgenden Versuch gestartet und zwar mit
gpedit.msc -> Computer Configuration -> Windows Settings -> Scripts (Startup/Shutdown) -> Shutdown
unter Shutdown habe ich folgendes Script hinzugefügt shutdown.vbs
das Script wird in folgendes Verzeichnis gespeichert
%windir%\System32\GroupPolicy\Machine\Scripts\Shutdown
Mit dem psshutdown.exe kann man ein Remote System einen Shutdown ausführen lassen danach warte ich xxx Sekunden.
Habe das ganze noch überarbeitet und zwar so
Old Code from shutdown.vbs
Set WshShell = CreateObject("WScript.Shell")
Return = WshShell.Run("psshutdown.exe -k \\<Remote Server> -u administrator -p Password -t 0 -f",,true)
WScript.Sleep 300000 '60000 = 1min
Anstatt xxx sekunden warten schaue ich ob der Win32_Process vmware-vmx.exe noch läuft, sobald der Process nicht mehr läuft wird der Host heruntergefahren oder wenn der Process ewig läuft wird nach 10min oder so der Host auch runtergefahren zur Sicherheit.
Nun das fertige shutdown.vbs Script
Set WshShell = CreateObject("WScript.Shell")
On error resume next
Return = WshShell.Run("D:\VMWareImages\psshutdown.exe -k \\<Servername> -u <Username> -p Password -t 2 -f")
WScript.Sleep 5000
zaehler = 0
meineZahl = 100
WshShell.LogEvent 1, "System wird heruntergefahren"
Do Until meineZahl = 0
meineZahl = meineZahl - 1
zaehler = zaehler + 1
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'vmware-vmx.exe'")
If colProcesses.Count = 0 Then
WshShell.LogEvent 4, "System heruntergefahren"
WScript.Quit
Else
WScript.Sleep 15000
End If
If zaehler = 20 Then
WshShell.LogEvent 4, "Nach 5 min System heruntergefahren"
WScript.Quit
End If
Loop
Gruss Markus
Zurück zu „VMware Player und VMware Workstation Player“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste