Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Copying files to an authenticated Win32 share

by SheridanCat (Pilgrim)
on Sep 13, 2005 at 16:32 UTC ( #491620=note: print w/replies, xml ) Need Help??

in reply to Copying files to an authenticated Win32 share

Since you can map UNC pathnames "anonymously", there's really no reason to find a free drive letter. I use the following in a library I wrote:
sub connect{ my ( $paths, $user, $password, $verbose ) = @_; # Make $paths an array reference, even if it isn't already if ( ref $paths ne "ARRAY") { if( ! ref $paths ){ push my @paths, $paths; $paths = \@paths; }else{ die "You must pass a scalar or array in as first argument +to connect()\n"; } } if( $^O eq 'MSWin32' ){ require Win32::NetResource qw( :DEFAULT GetSharedResources Get +Error AddConnection CancelConnection ); foreach my $path ( @$paths ){ # In case we don't have the leading backslashes, # add them. unless( $path =~ m|^\\{4}| ){ $path =~ s/^\\+//; $path = "\\\\" . $path; } my %resources = ( Scope => RESOURCE_GLOBALNET, Type => RESOURCETYPE_DISK, DisplayType => RESOURCEDISPLAYTYPE_SHARE, RemoteName => $path ); AddConnection( \%resources, $password, $user, 1 ); if( $verbose ){ my $err; GetError( $err ); warn Win32::FormatMessage( $err ); } } }else{ die "Unsupported Operating System: $^O\n"; } }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://491620]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2020-01-29 09:28 GMT
Find Nodes?
    Voting Booth?