marynella has asked for the wisdom of the Perl Monks concerning the following question:

Hi!

I'm writing a perl program for a Windows Server that should piggy back the network authentication of the currently logged in user, or allow the user to enter a custom network login information.

There is a module for this?

I played a little with Win32::NetAdmin but there are methods for getting the users, the logged on users, the servers disks, the servers, the user attributes, for setting user attributes ....
So I get the logged user:

use Win32::NetAdmin; # logged user print "-----------------------\nlogged users:\n"; LoggedOnUsers("", \%hash)or die "LoggedOnUsers() failed: $^E"; foreach (keys %hash) { print "$_ ->".$hash{$_}."\n"; }
Can I use this module to 'log on other user'?

Should I use 'credentials'?

Thanks!

Replies are listed 'Best First'.
Re: Network Authentication (MS Windows Server) from Perl
by blueAdept (Beadle) on Jun 11, 2004 at 15:25 UTC
    Nothing need be done to make perl run under the credentials of the logged on user/account - thats the normal behavior of any application. It executes under the context/credentials of the user.

    So far as making perl authenticate out to a resource with a different user/password I think you can accomplish that with the  AddConnection() method of Win32::NetResource I've never done this, so I'm soliciting advice without experience, thus use at your own risk :-) That might be close to what you're looking for. Thats still not real "switch user" functionality which I think might be what you're really wanting - but I've never caught mention of a module to accomplish that.
    AddConnection(\%NETRESOURCE,$Password,$UserName,$Connection) Makes a connection to a network resource specified by %NETRESOURCE \%N +ETRESOURCE,$Password,$UserName,$Connection)