The hanging during reboots is a very well known problem. I suggest changing the way the server does it's updates, especially not allowing it to reboot as part of the updating process. The method I've been using for a number of years with total reliability is:
- Updates are downloaded by the server (in my case they are obtained from a WSUS server) as they become available but not installed.
- Saturday night a script runs to install those updates but the server is not rebooted at this stage.
- Early Sunday morning the server is rebooted using a batch file via the task scheduler. That batch file uses shutdown.exe to perform the reboot. It is first run to log off anyone on the server, then run again to do the actual reboot. Trying to do both at once is very unreliable.
Since implementing that system I've never had a server hang during a reboot. Prior to that at least one of the servers, sometimes more, would hang at few times a year.
In addition to the above I also have a batch file run as a machine startup script which emails me when the server reboots. I check me email first thing Sunday morning. If ever I don't have an email from each of the servers I know I have a problem, because either it didn't start the reboot or it didn't finish it. It doubles as a handy alert should a server ever reboot itself for any reason.
The install script I use (UpdateHF_v2.5.vbs) was created by Rob Dunn and is available from here. I have customised my copy slightly to suit my own needs.
The reboot batch file is:
%windir%\system32\shutdown /l /t 1
%windir%\system32\shutdown /r /t 10 /c "Planned reboot" /f /d P:2:17
The batch file which sends the reboot notification email is (private information removed):
c:\windows\blat.exe - -to "list of email addresses, separated with comas" -f "sender email" -s "Reboot Alert (Put the server name here)" -ti 30 -try 120 -noh -body "Whatever message you want" -server mail.server
I use blat but obviously you can use any command line email program you like.