Jump to content

Recommended Posts

Posted

We have a huge problem here of teachers leaving entire rooms of PC's on overnight and over the weekend, as well as most of their teacher PC's

 

As well as it being a complete waste of energy, it heats the rooms up to sauna level come the morning, and it generally annoys me they're so lazy

 

If I remember I can turn off entire suites remotely, but Ive got to remember to do it which isnt possible all the time

 

I found this software - Sleepy - http://iconico.com/sleepy/ - which would do what I want, but even with the generous volume discounts, it would still come out at over £3000 for our 600 PC network

 

So im wondering if theres any cheaper (or free!) alternatives, or if any code wizards have knocked up any scripts/programs that can do it?

 

I know I could script it with something like PSShutdown but Im not sure how effective that is trying to switch off a large amount of computers

 

Any help appreciated

Posted
PSShutdown will do exactly what you want, it will just take a while to get round a large batch of machines. But if it's scripted properly you shouldn't have any problems using PSShutdown. Can't harm anything by giving it a go, probably with some sort of logging so you can then tell how long it takes.
Posted

All 400 of our PC's are left on all day and all night!

 

simply use Run --> CMD --> shutdown /i

 

nice little gui lets you add all the computer names you want to shutdown, and off it goes! restart, shutodwn, logoff and nice little warning box to warn users if by any chance some one is logged on.

Posted

shutdown.exe /s /m \\%Computer Name%

 

Stick in a batch file with an entry for each PC and set a Scheduled Task on the server to run at the end of each day.

 

You can do similar to start them up in the morning to ;)

Posted

I use shutdown.exe /s /m \\%Computer Name% running from a scheduled VBScript which pulls computer names from AD.

 

Option Explicit
Dim objConnection, objCommand, objRecordSet
Dim strComputer, strSourceOU
Dim wshell
Dim ArrOUs, strOU

ArrOUs = Array("Room1","Room2","Room3","etc")

Set wshell = CreateObject("wscript.shell")

' Link to AD
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection

For Each strOU in ArrOUs

' Select all Computer objects
objCommand.CommandText = "Select Name From 'LDAP://OU=" & strOU & ",OU=PCs,DC=example,DC=com' Where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False

Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF

strComputer = objRecordSet.Fields("Name").Value

Wshell.Run "shutdown -s -m \\" & strComputer & " -t 60 -c ""Shutting down for updates"" -f"

objRecordSet.MoveNext

Loop

Next

  • Thanks 1
Posted
If you search on google you will be able to find a little program called Beyonexec for free that will do the job you are looking for also.
Posted
Would any of these solutions work on a peer-peer network or do they require domain server/AD?

 

PSShutdown allows you to supply alternative logon credentials (eg, a local admin account) so that should certainly work in a peer to peer situation.

Posted

PSShutdown allows you to supply alternative logon credentials (eg, a local admin account) so that should certainly work in a peer to peer situation.

 

But in clear text.

 

 

You might be OK P2P if the account names and passwords match up.

Posted

What about using a startup script to add scheduled task to shutdown the PC. I've not tried this, but it should be possible with something like this...

at | find "shutdown.exe" > %temp%\atlist.txt
for /F "tokens=1" %%a in (%temp%\atlist.txt) do at %%a /delete
at 21:00 /every:m,t,w,th,f,s,su %SystemRoot%\system32\shutdown.exe -s -t 0 -f

Basically, it first deletes any AT scheduled commands that mention SHUTDOWN.EXE and then adds a new one.

 

Just a thought!

Posted
The specops free tool - a plugin to AD lets you right click on an OU - shut down the school/room/PC etc depending on your AD structure.

 

Hmm tried that yesterday and the part to enable it once installed is nowhere to be seen :D

Posted
at | find "shutdown.exe" > %temp%\atlist.txt
for /F "tokens=1" %%a in (%temp%\atlist.txt) do at %%a /delete
at 21:00 /every:m,t,w,th,f,s,su %SystemRoot%\system32\shutdown.exe -s -t 0 -f

Basically, it first deletes any AT scheduled commands that mention SHUTDOWN.EXE and then adds a new one.

 

Just a thought!

 

Nice. I'd just make one slight modification by using command subsitution directly in the FOR command but it's a matter of personal preference.

 

for /F "usebackq tokens=1" %%a in (`at ^| find "shutdown.exe"`) do at %%a /delete
at 21:00 /every:m,t,w,th,f,s,su %SystemRoot%\system32\shutdown.exe -s -t 0 -f

 

Anyway, there's still the problem that this only works for domain clients.

 

For P2P you'd probably have to install some kind of ssh daemon.

Posted

From the sleepy site:

 

Unplugging the computer and turning is back on will not disable Sleepy, no matter how hard you or your children try. We've designed Sleepy to give you peace of mind and we let your try Sleepy free for thirty days, just download and you're ready to start

 

I'll give this a test run tonight, see if it as difficult to break as they claim.

 

On a serious note, my school today have now asked me if it is possible to do something like this due to fire risk. They also want to turn off the projectors at night (literally at the switch) for the same reason... i'm not happy about that because i've already had to plug in two "broken" projectors today.

 

Shutdown.exe looks promising for the PCs though...

Posted
at | find "shutdown.exe" > %temp%\atlist.txt
for /F "tokens=1" %%a in (%temp%\atlist.txt) do at %%a /delete
at 21:00 /every:m,t,w,th,f,s,su %SystemRoot%\system32\shutdown.exe -s -t 0 -f

Basically, it first deletes any AT scheduled commands that mention SHUTDOWN.EXE and then adds a new one.

 

Just a thought!

 

Nice. I'd just make one slight modification by using command subsitution directly in the FOR command but it's a matter of personal preference.

 

for /F "usebackq tokens=1" %%a in (`at ^| find "shutdown.exe"`) do at %%a /delete
at 21:00 /every:m,t,w,th,f,s,su %SystemRoot%\system32\shutdown.exe -s -t 0 -f

 

Anyway, there's still the problem that this only works for domain clients.

 

For P2P you'd probably have to install some kind of ssh daemon.

 

Nice one! I did try doing it like that, but it's the first time I've used a FOR loop for anything other than looping through the file system. I learn something new every day!

Posted

I found just using shutdown.exe unreliable if the computer had gone to sleep.

So, (similar to ajbritton)

Make a scheduled task and copy it. The advantage of this over using AT is you can make the task wake the computer up to run. You can also make it so it will only run if the computer has been idle for, say, 15 minutes and make it attempt to run every minute after each failed attempt. This way a computer won't shut down if someone is using it but will shut down 15 minutes after they stop. (then make it give up, after 12 hours).

Also, if you use PS Shutdown, you can add a cancel button. I have a 15 minute count down (that means a machine will have been left idle for 30 minutes - in which case they deserve to loose their work!).

Handy for late working teachers (there are 1 or 2 NQTs!).

All you need to do is copy the file into c:\windows\tasks and run the SCHTasks command to make it run as SYSTEM.

 

I have an MSI here, which is set to shut down the machine at 6. (+ 15 minute countdown)

system_shutdown_v1.1.zip

Posted
That's one of the great things about EduGeek, you don't get one answer, you get several. Of course, thats not always a good thing ;)

 

Who mentioned profiles shush now shush!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...