In the past, I have always used PSShutdown to restart a machine remotely or to schedule a reboot. An SCCM MVP introduced me to Coretech’s free shutdown tool. This tool is PSShutdown on steroids.

First, you can download the tool from here. Extract the compressed folder to a share that authenticated users can read from. Later, you can use Group Policy to copy the folder down to local clients (if needed).

Read the arguments.txt file or run shutdowntool.exe /? to see how flexible this program is. To see a quick example, try running:
.\ShutdownTool.exe /t:7200 /m:1440 /r
To get rid of the background image, rename shutdowntool.exe to shutdowntool.exe.with_a_background. Rename ShutdownTool_NoBack.exe to shutdowntool.exe.[note]Or just run shutdowntool_noback.exe instead.[/note]
To change the description that appears in the popup, rename ShutdownTool.txt to ShutdownTool.txt.old. Rename ShutdownTool_NoBack.rtf to ShutdownTool.rtf and edit the RTF document. Finally, replace ShutdownTool.png with your logo or rename it to remove the logo.
Try rerunning this command and you should have a much cleaner shutdown tool that prevents your users from getting angry at a forced restart.
.\ShutdownTool.exe /t:7200 /m:1440 /r
To be safe, I like to add a registry check to ensure that the tool is only running on a client OS.
.\ShutdownTool.exe /t:7200 /m:1440 /r /er:"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallationType"=="Client"
To provide one more example, you may want to skip a restart if a certain application is running. For example, we would never want to restart a machine if it is providing a standardized test to a student.
.\ShutdownTool.exe /t:7200 /m:1440 /r /eps:"DRCInsight.exe!="
Finally, I also use this tool for two other scenarios. First, all of our client computers are set to restart if they have been online for more than a week. While automatic restarts do make for a smooth day, some of our admin staff [note]Myself included.[/note] need a bit of a prompt to reboot. Second, we use this tool when a piece of software needs updating, and a reboot will be required. This tool can be used at the beginning of that process as a way to get the user to close the application and again at the end to let the user know that they need to restart.
If you have any bright ideas on how to use this tool, leave a comment as I would love to see them!
I’m sorry but the download links isn’t working anymore, could you please add/attach it again?
Thanks for this Post.
How we can check restart pending registry with /er arg?
if RebootRequired is exits under HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update
I so wish this was still under development. If I could remove the multiple postpone options, and only have 1 hour that would solve answer a prayer. Trying with powershell but can’t quite get the logic down.
the /c arg should let you achieve this “Disables the option to abort” If you’re not already using version 0.9.6 from 2016 you can download from here:
https://www.dropbox.com/s/9p8elwrrochpg9t/ShutdownTool-9.6.0.zip?dl=0
Great post!! You can also use Powershell to schedule a restart or shutdown: https://www.sysadmit.com/2019/02/windows-programar-apagado-reinicio-powershell.html
Thank you John! And good link; Google translate did a pretty good job for that page.