What’s up with IVMGuestOS::ExecuteCommand?

A number of people have noticed that the guestOS.executeCommand() exists but makes no sense.  It takes no parameters, and always returns an error.  This API was originally intended to allow you to execute a command inside the guest operating system.  This is incredibly useful, but it also had a significant security issue.  Namely – the command would get executed under the context of whichever user was currently logged in – which may not be the same user as the person who was issuing the command.

Unfortunately this issue was discovered after the beta version of Virtual Server 2005 had been released.  This meant that removing this API would break compatibility with any custom applications that users had developed against the beta version of Virtual Server.  Rather than doing this the API was left in place, to maintain the same COM interface, but all functionality was removed.