Last night I was sitting at home and using my VPN to dial into one of our servers (a Win2k3 server). I noticed that there were a couple of patches pending installation. Now as a rule I do not run every patch, nor do I ever let windows "manage" patching for me. Instead, I let windows download the patches and I choose when and what to install. Still, a couple of these patches were important security fixes (Usually a good idea) so I installed them. Now windows does not always require a reboot after patching, but sometimes it does, and yes it is one of the annoying things about Windows, so please don't use this post to comment on how much better Linux is than Windows or cheese or Santa Clause or sex or whatever. Anyway, this time it did ask and when I chose to restart things went "a bit wonky" as some of my UK readers might say.
After I clicked the restart button, my remote desktop session was immediately terminated (and this is normal). I opened a command line and set up a ping using the "-t" switch:
d:\>ping 10.0.0.245 -tThe "-t" switch is useful. It keeps pinging every few seconds until you break out of it with a Control + C. Now typical behavior of a server at this point is that it should keep responding for 30 or 40 seconds, then stop responding, then start responding again after a reasonable time to account for reboot (90-200 seconds depending on the server). This time however, the server just kept responding. It didn't shut down.
Now I was in a fix. I could no longer RDP into the server since that capability was already shut down. The server was in limbo with some services running and some services shut down. Obviously something - some software or service - was still hung and preventing the restart from completing. I needed to finish the restart in order to be sure that the server was functioning properly, but I was home in my Jammies with no physical access to the server. What could I do? Fortunately there is a fix for this problem.
First, I logged into my regular desktop as the domain admin. I needed to be logged in as a user with admin rights to the server that was hung. Next, I right-clicked on "My Computer" and chose "Manage" from the context menu. I right-clicked on the top level item of the MMC object pane called "Computer Management (local)" and I chose "connect to another computer" where I entered the friendly name of my ailing server.
You might have guessed that one of the reasons I write posts such as this is so that I can remember the information when I need it again. I frequently find myself looking up posts I have written for obscure tips that I only need once in a blue moon. One of the beauties of blogging is that it serves as a knowledge base of stuff that would ordinarily escape my brain.