First, you may have to give the user account the "Act as part of the operating system" right in the Local Security Settings snap-in. The Group Policy on the computer I am using right now doesn't allow me to test this, but the account I used has that right, and the error I received when using an account that didn't have that right seems to point at this issue.
Second, you can get the error message from any Win32 calls pretty easily. Those messages are invaluable in tracking down solutions to problems like this. Often the message itself is worthless, but Googling it will give good answers. Here is the code I used to print the error message to the browser.
use Win32::OLE;
use Win32;
use CGI;
my $q = new CGI;
print $q->header;
my $browser = new Win32::OLE 'InternetExplorer.Application';
print Win32::FormatMessage( Win32::GetLastError() );
$browser->Navigate("http://www.apple.com", 0, 'xyzzy');
If you run the above code using an account that doesn't have the "act as operating system" right, you should get the error "An attempt was made to reference a token that does not exist."
Good Luck,
digger |