shutdown script

i need shutdown vbscript with msgbox " your computer will shutdown in x min Press Cancel to abort " 
if no one press cancel the shutdown command is going to continue. i have tried to write a script i need your help !!

TimeOut = 1 '(in minutes) how to use ?
or is there another way ??

dim objShell
Set WshShell = CreateObject("WScript.Shell") 
userschoice = Msgbox("The Computer is shuting down now", VBOKCancel + vbExclamation,"Caution")
 
If vbOK Then
        objShell.Run "shutdown.exe -s -t 30"
else
        Msgbox "Shutdown abortet"
End if

Open in new window

lovemaskAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ou_doberCommented:
Hope this helps.
' Shutdown.vbs
' Example VBScript to shutdown computers w/ user input
' Author Lance Dobbs
' Version 1.1 - July 2009
' --------------------------------------
Dim objShell, strComputer, strInput
Dim strShutdown
 
' This parameter is for when the user clicks on the yes box.(adjust -t as needed - default 0 min.)
strShutdown1 = "shutdown -s -t 0 -f -m \\" & strComputer
' This parameter is for when the user clicks on the no box. (adjust -t as needed - default 5 min.)
strShutdown2 = "shutdown -s -t 300 -f -m \\" & strComputer
' This parameter is for when the user does nothing. (adjust -t as needed - default 0 min.)
' If this is not needed, REM out the line with "	objShell.Run strShutdown3"
strShutdown3 = "shutdown -s -t 0 -f -m \\" & strComputer
 
Const wshYes = 6
Const wshNo = 7
Const wshYesNoDialog = 4
Const wshQuestionMark = 32
 
Set objShell = CreateObject("Wscript.Shell")
 
intReturn = objShell.Popup("Your computer needs to be shutdown. Do you wish to proceed right now?", _
    30, "***** SHUTDOWN REQUIRED *****", wshYesNoDialog + wshQuestionMark)
 
If intReturn = wshYes Then
   	Wscript.Echo "You clicked the Yes to shutdown your computer now."
	objShell.Run strShutdown1
ElseIf intReturn = wshNo Then
    	Wscript.Echo "You clicked the No button. Your computer will shutdown in 5 minutes. Please close all applications."
	objShell.Run strShutdown2
Else
    	Wscript.Echo "The popup timed out. Computer will shutdown now."
	objShell.Run strShutdown3
End If

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ou_doberCommented:
BTW ~ Adjust line 25 where 30 is the seconds it will wait before acting on its own without user intervention.
0
lovemaskAuthor Commented:
thank you it seems working ... im testing it now
0
ou_doberCommented:
Here's the one for rebooting
Set for 10 sec on no user intervention.
' Reboot.vbs
' Example VBScript to Reboot computers w/ user input
' Author Lance Dobbs
' Version 1.1 - July 2009
' --------------------------------------
Dim objShell, strComputer, strInput
Dim strReboot
 
' This parameter is for when the user clicks on the yes box.(adjust -t as needed - default 0 min.)
strReboot1 = "Shutdown -r -t 0 -f -m \\" & strComputer
' This parameter is for when the user clicks on the no box. (adjust -t as needed - default 5 min.)
strReboot2 = "Shutdown -r -t 300 -f -m \\" & strComputer
' This parameter is for when the user does nothing. (adjust -t as needed - default 0 min.)
' If this is not needed, REM out the line with "	objShell.Run strReboot3"
strReboot3 = "Shutdown -r -t 0 -f -m \\" & strComputer
 
Const wshYes = 6
Const wshNo = 7
Const wshYesNoDialog = 4
Const wshQuestionMark = 32
 
Set objShell = CreateObject("Wscript.Shell")
 
intReturn = objShell.Popup("Your computer needs to be rebooted. Do you wish to proceed right now?", _
    10, "***** Reboot REQUIRED *****", wshYesNoDialog + wshQuestionMark)
 
If intReturn = wshYes Then
   	Wscript.Echo "You clicked the Yes to Reboot your computer now."
	objShell.Run strReboot1
ElseIf intReturn = wshNo Then
    	Wscript.Echo "You clicked the No button. Your computer will Reboot in 5 minutes. Please close all applications."
	objShell.Run strReboot2
Else
    	Wscript.Echo "The popup timed out. Computer will Reboot now."
	objShell.Run strReboot3
End If

Open in new window

0
lovemaskAuthor Commented:
thank you i did some modification that meet my requirements
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Applications

From novice to tech pro — start learning today.