Remote Reboot X

January 25th, 2010 Leave a comment Go to comments

Remote Reboot X

*The Ultimate WSUS Companion Tool*

Version 1.5

(build 20091013)

For, questions, bug reports, feature requests etc, please visit the forum.

NEW RELEASE OF REMOTE REBOOT X IS COMING SOON!


What it isrrx20091013

Remote Reboot X 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 Remote Reboot X 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 “Remote Reboot X22″ 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– 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) – 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) – comes in very handy when you’re rebooting machines
  • Load a | delimited text file to automatically populate the “Notes” column – 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
  • Wake on LAN – Sends “magic packet” to the MAC address that you specify in the Host column. MAC addresses must be entered with no spaces or dashes.

Screenshots

rrx1.5arrx2rrx4rrx5rrx1.5brrx6

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 actions, you must have Microsoft’s Sysinternals PsExec in your Windows system path or in the directory that you launch Remote Reboot X 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 – install downloaded updates” will not work.

Additional Notes

  • The “WSUS – install downloaded updates” option will install updates that have already been downloaded by the remote host.  For systems administrators, my recommendation is to use Group Policy to control how your computers handle WSUS updates.  Create and link a GPO on the OU where you keep your servers.  The setting that needs to be defined is under
\Computer Configuration\Administrative Templates\Windows Components\Windows Updates\Configure Automatic Updates
    Set the policy to option number 3, which specifies to download but not install updates.  This enables you to use Remote Reboot X to install them at your convenience or during a scheduled maintenance, for example.  You can, of course, choose a different option and use the “WSUS – search, download, install updates” action instead, but if you have lots of computers downloading updates simultaneously either from your WSUS server or directly from Microsoft, you should be careful about overwhelming your WSUS server or your network connection.

    I used to define the policy to download and install the updates, but there would sometimes be issues, and it became apparent that I needed more control. With so many machines and such a small maintenance window, it was no longer acceptable to let WSUS install, download, and reboot the computers. Too often I’d run into a problem where a machine wouldn’t install an update, or a service would get stopped but not restarted, or a machine would hang on reboot. I created Remote Reboot X to help address those issues, and I think there must be other systems administrators out there with similar problems, which is one of the reasons I decided to distribute it.

    Along with RemoteRebootX.exe there are 3 additional .NET executables included in the zip file below.  To use them you must have the WSUS Admin Console 3.0 installed on your computer.  They will allow you to connect to your WSUS server and …

  • Retrieve a list of computers that have already downloaded updates but haven’t installed them
  • Retrieve a list of computers that have already installed updates and are waiting to be rebooted
  • Retrieve a list of computers that have not checked in with the WSUS server in more than 3 days

Limitations

  • The installation of Windows Updates is performed by executing a script (using PsExec)  on the remote machine(s).  If Integrated Security is not enabled when you choose “WSUS – install downloaded updates” from the actions menu, PsExec will send the specified credentials in clear text to the remote machine.  However, if you enable Integrated Security (impersonates the currently logged on user) your credentials will not be passed in clear text.
  • Although you could theoretically load an infinite number of hosts into one instance of the application, I think you’ll have a much better experience if you instead launch multiple instances of Remote Reboot X with  50 to 100 hosts per process.
  • If a log file is inaccessible for whatever reason you will not get an error when you try to launch it.  It will simply fail silently.  I’ll probably change this in the future, but for now it was the cleanest approach.  You will not be able to view a log file while updates are being installed.  You will, however, be able to view it before and after the update installation.  Or, if you really need to see it while the installation of updates is taking place, you can browse directly to the file -  \\remotehost\c$\rrx\rrx.log – and launch it in a text editor like notepad.

Download

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.

rrx_icon Remote Reboot X  Version 1.5 (build 20091013)

If this application saves you time at your job, PLEASE consider donating. I wrote it initially as just a Sunday afternoon project to learn some Visual Studio.NET, but countless nights and weekends have since been spent working on it, and there’s still a long way to go and lots more functionality to add. Any amount is hugely appreciated. Thank you.

____________________________________________________________________
For, questions, bug reports, feature requests etc, please visit the forum.
To contact me directly you may use the comments form below.