# linuxGetNDSName.pl # # by Dean Giles # Version 1.0 # January 3, 2007 # # This Perl script lists returns what the eDirectory name is for an existing NSS storage pool. # This script has been designed to be run on Linux. # The API set can be downloaded from http://developer.novell.com/wiki/index.php/Virtual_File_Services_for_NetWare. # # The Perl script requires the name of an NSS pool as input. It requires that NSS be installed and an NSS pool be present. # { # User help function if (@ARGV < 1 || $ARGV[0] eq "/?" || $ARGV[0] eq "-?") { print "USAGE: perl linuxGetNDSName.pl POOL_NAME \n"; print "Example: perl linuxGetNDSName.pl NSSPOOL \n"; exit; } # Global Variables $poolName = $ARGV[0]; $file = "+". "$poolName". ""; # Initializing the virtual file for sending a command. print "File Name: $file \n"; print "Request Sent: $command \n"; if (!syswrite(NSSFILE, $command, length($command))) #Initialize the nss management file and write a command. { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $error, 10000); #Read the error message. print "Error writing initialization to management file. \n"; print "$error \n\n"; #Print the error message to the screen. close (NSSFILE); } else { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $reply, 10000); #Read the reply. print "$reply \n\n"; #Print the reply to the screen. close (NSSFILE); } }