vbscript를 사용하여 Windows 상자를 강제로 다시 시작하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/188636

  •  06-07-2019
  •  | 
  •  

문제

Windows가 재부팅하도록 강요하는 방법을 찾으려고 노력하고 있으며 문제가 발생하고 있습니다. 난 노력 했어

Set OpSysSet = GetObject("winmgmts:{authenticationlevel=Pkt," _
     & "(Shutdown)}").ExecQuery("select * from Win32_OperatingSystem where "_
     & "Primary=true")
for each OpSys in OpSysSet
    retVal = OpSys.Reboot()
next

나는 또한 사용해 보았다 shutdown -f -r 명령, 그리고 두 경우 모두 응답이 없으며 다시 시도하면 "시스템이 종료되면 작업이 완료 될 수 없다"라는 오류가 발생합니다. 여전히 새로운 프로그램을 시작하고 shutdown -a 동일한 오류가 발생합니다. 스크립트를 사용하여 Windows를 재부팅하도록하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

교체 시도 :

retVal = OpSys.Reboot()

와 함께:

retVal = OpSys.Win32Shutdown(6)

다른 팁

글쎄, 이것은 vbscript를 사용합니다. 그러나 진실로 당신이하려는 것과 동일한 명령 줄 종료를 호출합니다. 나는 그것을 테스트했고 그것은 작동합니다.

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

어떤 OS에 반대하고 있습니까? 이 테스트는 XP에 대한 것입니다. 서버 OS에 종료 코드가 필요한지 궁금합니다 ...

SYSINTERNALS NOW MICROSOFT에서 PSSHUTDOWN 명령 줄 유틸리티를 사용해 볼 수도 있습니다.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"

'*********************************************************

이 작은 스크립트는 0 초 후에 로컬 컴퓨터를 다시 시작합니다.

Set Reset= WScript.CreateObject ("WScript.Shell")

Reset.run "shutdown -r -t 00", 0, True

또는..

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top