use Win32::NetResource; use Win32::WinError; use strict; use warnings; my %NetResource = ( LocalName => "R:", RemoteName => "\\\\Public\\Depot" ); print $NetResource{RemoteName}; my $User = ""; my $Password = ""; if ( Win32::NetResource::AddConnection( \%NetResource, $Password, $User, 1) ) { print "Successful!\n"; } else { print NetError(); } sub NetError { my ( $Error, $Text, $Provider, $Result); $Error = Win32::GetLastError(); if( ERROR_EXTENDED_ERROR == $Error ) { Win32::NeResource::WNetGetLastError( $Error, $Text, $Provider ); $Result = "Error $Error: $Text (generated by $Provider)"; } else { $Text = Win32::FormatMessage( $Error ); $Result = "Error $Error: $Text"; } return $Result; }