Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1803
  • Last Modified:

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!
0
WavyGravy
Asked:
WavyGravy
3 Solutions
 
parkerigCommented:
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
 
botplusCommented:
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
 
kristinawCommented:
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
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

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now