كيفية فرض إعادة تشغيل مربع Windows باستخدام VBScript؟

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

ما هو نظام التشغيل الذي تعمل ضده؟كان هذا الاختبار ضد XP.أتساءل عما إذا كان نظام تشغيل الخادم يتطلب رمز إيقاف التشغيل ...

يمكنك أيضًا تجربة الأداة المساعدة لسطر الأوامر psShutdown من Sysinternals (الآن 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"

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

يقوم هذا البرنامج النصي الصغير بإعادة تشغيل الكمبيوتر المحلي بعد 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