Wednesday, August 13, 2008

Log off fails while VMRCplus is running

I keep seeing event logs on one of the Windows Server 2003 boxes at a client which indicates that I tried to reboot or shutdown the box and the attempt has failed. Specifically, the following appears in the event log:

Event Type: Warning
Event Source: USER32
Event Category: None
Event ID: 1073
Date: 13/08/2008
Time: 16:28:33
User: DOMAIN\myaccount
Computer: SERVER
Description:
The attempt by user DOMAIN\myaccount to restart/shutdown computer SERVER failed

This has been bothering me for quite some time, and I finally discovered what's causing it. If I attempt to log off an RDP session (or perhaps a console session as well, I didn't bother testing that) while VMRCplus is running, the session does not log off and the log entry above is generated.

The reason I never noticed is that I use a custom MMC console with remote desktops for all server in the environment, so when I'm done I just log off, click the next server, log off, etc. and then close the console.

I'm going to contact VMRCplus' maintainer, Matthijs to let him know about this, although at this stage I'm not sure if VMRCplus is actually causing this itself. In the meantime I figured I'd post this here in case anyone else happened to experience the same thing. I've read through dozens of forum posts and blog entries without any of them shedding any light on the cause of the error. It's especially misleading since the error occurs when attempting to log off, but the description in the event log indicates a failed shutdown or reboot attempt.

If you haven't heard of VMRCplus and you are responsible for managing MS Virtual Server boxes, you should check it out, it's much better than using Virtual Server's web interface and the default Virtual Machine Remote Control Client.

UPDATE: Matthijs confirms that this is a known issue:

Correct. Some programs, like VMRCplus, prevent logoff while they are still running. This is caused by the ActiveX control embedded in VMRCplus.
There is no workaround for that other than closing the application before logoff or simply killing the application.