I have often been asked, "how do I cause all of my users to reboot their machines for changes to take effect?" A simple way to do it and to control it all from one location is to use PSShutdown from Sysinternals.
This method is great for ensuring that global policies are implemented across the network and that all required reboots for critical updates are performed rather than allow the user to ignore the requests.
I am lucky enough to have one IT management server at my disposal. On that box, I have used the following process to schedule periodic power outage for all computers on my network.
1. Create a text file named computers.txt listing all of the computer names on your network.
2. Create a batch file with the following contents.
psshutdown -f -k @computers.txt
3. Use Task Scheduler under System Tools to schedule the batch file to run at whatever schedule you specify.
Instead of the -k parameter you could use -r to only have the computers reboot rather than power off completely. The -f parameter causes all open programs to close before shutting down.