Wie zu zwingen, ein Windows-Maschine mit VBScript neu starten?
Frage
Ich versuche, einen Weg zu finden, um Windows zu zwingen, neu zu starten, und ich in Probleme laufen lasse. Ich habe versucht,
Set OpSysSet = GetObject("winmgmts:{authenticationlevel=Pkt," _
& "(Shutdown)}").ExecQuery("select * from Win32_OperatingSystem where "_
& "Primary=true")
for each OpSys in OpSysSet
retVal = OpSys.Reboot()
next
Ich habe auch versucht, den shutdown -f -r
Befehl, und in beiden Fällen bekomme ich manchmal keine Antwort, und wenn ich wieder versuchen, bekomme ich eine Fehlermeldung, auch „Aktion kann nicht abgeschlossen werden, da das System wird heruntergefahren“, obwohl egal wie ich kann es lange lassen sie es nicht heruntergefahren, es erlaubt mir noch neue Programme zu starten, und eine shutdown -a
tun gibt den gleichen Fehler. Wie kann ein Skript verwendet werden, um Windows zu zwingen, neu zu starten?
Lösung
Versuchen Sie ersetzen:
retVal = OpSys.Reboot()
Mit:
retVal = OpSys.Win32Shutdown(6)
Andere Tipps
Nun, verwendet dieses VBScript - obwohl wahrheits ruft sie den gleichen Befehlszeile Shutdown, die Sie zu tun versuchen. Ich habe es ausprobiert und es funktioniert.
Dim oShell
Set oShell = CreateObject("WScript.Shell")
'restart, wait 5 seconds, force running apps to close
oShell.Run "%comspec% /c shutdown /r /t 5 /f", , TRUE
Was OS sind Sie dagegen? Dieser Test war gegen XP. Ich frage mich, ob das Server-Betriebssystem einen Shutdown-Code erfordert ...
Sie können auch versuchen, den PsShutdown Kommandozeilenprogramm von Sysinternals jetzt Microsoft. http://technet.microsoft.com/en-us/sysinternals/bb897541. aspx
'*********************************************************
Option Explicit
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 0"
'*********************************************************
Dieses kleine Skript startet den lokalen Computer nach 0 Sekunden.
Set Reset= WScript.CreateObject ("WScript.Shell")
Reset.run "shutdown -r -t 00", 0, True
oder ..
Shell "shutdown -r -t 00" ' for restart
Shell "shutdown -s -t 00" ' for Shutdown
Shell "shutdown -l -t 00" ' for log off
Shell "shutdown -a -t 00" ' for abort