Shutdown all computers at once on a network?

I'm currently running a domain with Windows 2000 Server edition, and all client computers using XP Professional.  Is there a way to setup a script, or something of that nature, that will allow me to shutdown or restart all of the computers on the network (with the exception of the server) at once?  Thanks in advance!
LVL 1
WavyGravyAsked:
Who is Participating?
 
botplusConnect With a Mentor Commented:
there is a shutdown.exe under C:\WINDOWS\system32\ in winxp and the switch "-m \\computername" can remote shutdown computer on the network, as i remember there is also a shutdown.exe in win2k but switches are different, or if u want to shutdown all computer without typing all the computer name then there are many third party software can do the job, here is the usage of winxp shutdown.exe

C:\>shutdown
Usage: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "c
omment"] [-d up:xx:yy]

        No args                 Display this message (same as -?)
        -i                      Display GUI interface, must be the first option
        -l                      Log off (cannot be used with -m option)
        -s                      Shutdown the computer
        -r                      Shutdown and restart the computer
        -a                      Abort a system shutdown
        -m \\computername       Remote computer to shutdown/restart/abort
        -t xx                   Set timeout for shutdown to xx seconds
        -c "comment"            Shutdown comment (maximum of 127 characters)
        -f                      Forces running applications to close without warning
        -d [u][p]:xx:yy         The reason code for the shutdown
                                u is the user code
                                p is a planned shutdown code
                                xx is the major reason code (positive integer less than 256)
                                yy is the minor reason code (positive integer less than 65536)
0
 
parkerigConnect With a Mentor Commented:
Hi,
Windows comes with a shutdown.exe ( c:\windows\system32 )
Shutdown /? gives syntax

Below is a link to the code I modified for my system
http://digital-forums.com/showthread.php?p=1431096#post1431096

You can modify this and run it as part of user login process.
My script looks nothing like the above as I don't prompt user etc. but its very easy to change and I like to give credit to those whose code I have got my inspiration from.

Cheers
Ian
0
 
kristinawConnect With a Mentor Commented:
Wavy,

I have a vb script that will do this. It's designed to shutdown all computers (servers, whatever) in an entire OU. Let me know if you're interested and I'll post the code for you to try.

Kris.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
jatcanCommented:
I'm interested in the VB code for that purpose--go ahead and post it.

Cheers,

Jatcan
0
 
parkerigCommented:
WavyGravy,
Note that as the shutdown command displays a message for -t xx seconds it is probably better to have the login script add a task to the scheduler using the at command

at 7:30 "c:\windows\system32\Shutdown.exe -s -t 300"

shutdownscript.vbs
-----------------------
dim wshshell
set wshshell = wscript.createobject("wscript.shell")
wshshell.run "at 20:00 c:\windows\system32\Shutdown.exe -s -t 300"

Cheers
Ian
0
 
kristinawCommented:
the following code will shut down all the computers in the given OU. enjoy. you can run it right from your desk. just copy and paste into notepad, save as whatever.vbs and you're off. please teset first!

-------------------------------------------------------------------------------------------
On Error Resume Next

'Define the OU which contains the servers you would like to shut down
Set objOU = GetObject("LDAP://ou=yourou,dc=yourdomain,dc=com")
objOU.Filter = Array("Computer")

For Each objComp In objOU
      strComputer = objComp.Name
      strName = Replace(strComputer, "CN=", "")
      
      'wscript.Echo strName
      
      Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//" & strName & "/root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
      
      'Actual shutdown
      for each OpSys in OpSysSet
            OpSys.Shutdown()
      Next
      
Next

'Done
wscript.Echo "Done"
WScript.Quit(0)
------------------------------------------------------------------------------------------------------------------
0
 
WavyGravyAuthor Commented:
Wow guys, this is great!  Thanks for all of the feedback!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.