RemoteRebootX

Published by

Reboot and monitor a large number of remote computers simultaneously, in real time.
RemoteRebootX is an application that I initially created to reboot a large number of remote computers simultaneously, while being able to monitor their statuses in real-time. However, I soon added functionality to handle the installation of Microsoft¡¯s Windows software updates on the remote computers as well.If you¡¯re wondering what the X in RemoteRebootX means, it¡¯s simply a way to signify the number of machines that are being rebooted. When 22 hosts are added to the application, the title bar will display ¡°RemoteRebootX22¡å or Remote Reboot times 22, for example.

Why I created it:
My original goal was simple¡­ I wanted to learn .NET¡­. However, what kept me motivated throughout the learning process was the fact that I had a real goal in mind¨C to eventually make a monthly task at my job easier and less stressful. I work as a systems administrator for a software and consulting firm where I have a one-hour window once per month to install Microsoft¡¯s Windows software updates on no less than 100 servers, reboot the servers, and then verify that they¡¯ve come back online properly. In order to handle so many servers in such a short period of time, the process simply had to be automated. However, I couldn¡¯t find an existing application to do what I wanted, so I decided to create my own.

How it works:
You start by loading a list of computer names or IP addresses. You can then highlight one, some, or all the host entries to perform actions on just the selected hosts. Either right click on the currently selected rows or use the Actions menu to select an action to perform. The following are available to choose from:

Ping. The ping reply initially displays in black, then red if it times out, and then after 4 consecutive time-outs, any subsequent replies will turn blue to signify that the machine has been rebooted
Install Windows Updates on the remote machine(s) (requires Microsoft¡¯s SysInternals PsExec in your system path)
View the WSUS installation log for the remote machine(s) ¨C this log is stored in C:\RRx on all remote computers. (Tip: You can doubleclick a row to view the log file)
Reboot the remote machine(s) (will also automatically start ping monitoring if you haven¡¯t already started it)
Retrieve the last boot-up time of the remote machine(s) ¨C comes in very handy when you¡¯re rebooting machines
Load a | delimited text file to automatically populate the ¡°Notes¡± column ¨C this makes it simple to keep an ongoing list of any instructions you might have that are specific to certain machines, such as programs to start after a machine is rebooted and logged on
Export a | delimited text file of all columns in their current state

System Requirements
RemoteRebootX was created using Microsoft¡¯s Visual C# 2008. In order to use it you must have the .NET Framework installed.
For the ¡°WSUS ¨C Install downloaded updates¡± option, you must have Microsoft¡¯s Sysinternals PsExec in your Windows system path or in the directory that you launch RemoteRebootX from. If you¡¯re unsure about modifying your system path, you can simply drop psexec.exe into C:\Windows and that should do the trick. Make sure to manually run psexec.exe at least once to accept the license agreement, otherwise ¡°WSUS ¨C Install downloaded updates¡± will not work.

This software is provided as-is with no warranty of any kind. You may download and use it for free, but you may not sell or distribute it under any circumstances.
  Download