List,

I apologise - I got this wrong. The User Id can be found from:-

my $id = $Request->ServerVariables('LOGON_USER')->item;

The call to VBScript still works, and at the time provided a work around for me to 
gain the LOGON_USER.

As a side note you can fill the ENV associative array as follows:-

foreach my $env (in ($Request->ServerVariables)) { 
        $ENV{$env} = $Request->ServerVariables($env)->{Item}; 
}

Mode details found here:- 
http://cpan.org/authors/id/M/MS/MSERGEANT/PSIntro.html#20ServerVariables%20Collection


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Allegakoen, Justin 
Devanandan
Sent: Thursday, March 04, 2004 8:03 AM
To: perl-win32-users
Subject: RE: IIS sesión variables


----------8<-------------
Is what you are looking for in the environment variables?

   foreach $key (sort keys(%ENV)) { 
      print "$key = $ENV{$key}\n"; 
   }
----------8<-------------
Probably not, or at least not when I was trying to access them last week.

I was trying to get hold of the logged in user, and was dissapointed to find that 
PerlScript didn't display it whereas VBScript did.

I pieced the following together to show the list how I got it to work:

<CODE>
<%@ Language=PerlScript %><%
$Response->{Buffer} = 0;

use warnings;
use ASP qw(:strict);

my $IDSID = $ScriptingNamespace->UserID();%>

<script language="VBScript" runat="server">
function UserID()
        ' Gets the logon name which PerlScript cant seem to do
        if Request.ServerVariables("LOGON_USER") = "" then
                Response.Status = "401 Access Denied"
                Response.End            
        end if
        
        strIDSID = cStr(Request.ServerVariables("LOGON_USER"))
        IDSID = Split(strIDSID, "\")
        UserID = IDSID(1)
end function
</script><%

print "<BR><B>ENV VARS = </B>";
foreach my $Key(sort keys %ENV)
{
        print "<BR>$Key = $ENV{$Key}"; 
}

print "<BR><BR><B>PerlScript VARS = </B>";
my $url = $Request->ServerVariables('PATH_INFO')->item;
$_ = $Request->ServerVariables('PATH_TRANSLATED')->item;
s/[\/\\](\w*\.asp\Z)//m;
my $params = 'filename='."$1".'&URL='."$url";
$params =~ s#([^a-zA-Z0-9&_.:%/-\\]{1})#uc '%' . unpack('H2', $1)#eg;
print "<BR>$params";

print "<BR><BR><B>PerlScript variables gained from VBScript function = $IDSID</B>";
%>
</BODY>
</HTML>
<END OF CODE>

<OUTPUT TO BROWSER - I've chopped off some of the ENV values for our security>
ENV VARS = 
ALLUSERSPROFILE = 
CLUSTERLOG = 
COMMONPROGRAMFILES =
COMPUTERNAME = 
COMSPEC = 
HTTP_PROXY = 
LANG = enu
NUMBER_OF_PROCESSORS = 2
OS = Windows_NT
PATH = 
PATHEXT = .
PROCESSOR_ARCHITECTURE = x86
PROCESSOR_IDENTIFIER = 
PROCESSOR_LEVEL = 6
PROCESSOR_REVISION = 0801
PROGRAMFILES = C:\Program Files
SYSTEMDRIVE = C:
SYSTEMROOT = C:\WINDOWS
TEMP = C:\WINDOWS\TEMP
TMP = C:\WINDOWS\TEMP
USERPROFILE = C:\Documents and Settings\NetworkService
WINDIR = C:\WINDOWS

PerlScript VARS = 
filename=print2.asp&URL=/Kudos/print2.asp

PerlScript variables gained from VBScript function = jdallega 
<END OF OUTPUT>

Just in

_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to