Heres my sample code for retrieving the drivespace on a WinNT Server.  Please keep in mind that this is only a code example, and while it does work on my site, there is no warranty implied, nor do I endorse this code as being fit for merchantability for any purpose.
USE THIS CODE AT YOUR OWN RISK!

drive_space.pl


#!perl -w

# amonotod
# 15 Oct 1999
# drive_space.pl, for use on WinNT Servers
# Partly mine, partly by others...
# Thank you to the others!

use Win32::NetAdmin;
use Win32::AdminMisc;

my $Domain = 'DOMAIN';
my $Flags = SV_TYPE_DOMAIN_CTRL | 0x00008000;
my ( @Servers, @Alphabet, $Server, $UNCPath, $Count, $Date );
my ( $Total, $Free, $Used, $TotalMod, $UsedMod, $FreeMod, $Warning );

$Date = localtime();
$my_dir = "d:/www/cgi_bin/users";

&print_html;
&get_info;
&show_it;
exit;

sub print_html{
  print "Content-type: text/html\n\n";
}

sub get_info{
  Win32::NetAdmin::GetServers( '', $Domain, $Flags, \@Servers ) ;#or die "Can't get servers from domain $Domain: $!";
  foreach $Server ( sort( @Servers ) ) {
    print "<h2>Drives on $Server:</h2>\n";
    #print "$Server<br>\n";
    print '<form method=post action="../../cgi-bin/users/get_dir_sec.pl">';
    print '<input type="hidden" name="qrytype" value="dir">';
    #print "\n";
    @Alphabet = ( "a".."z" );
    $Count = 0;
    while ( $Alphabet[$Count] ne "" ) {
      $UNCPath = "\\\\"."$Server"."\\"."\_"."$Alphabet[$Count]"."\$";
      if ( ( $Total, $Free ) = Win32::AdminMisc::GetDriveSpace( $UNCPath ) ) {
        if ( ($Total + $Free) > 0 ){
          print "<br>\n";
          print '<input type="radio" name="dir" value="'."$UNCPath".'">'."$UNCPath".'</input><br>';
          #print "$Total $Free<br>\n";
        }
        $Used = $Total - $Free ;
        $Warning = ( ( $Used / $Total ) * 100 );
        if ( $Total > "1000000000" ) {
          $TotalMod = $Total/1000000000;
          $TotalMod = substr ($TotalMod,0,4);
          $TotalMod = $TotalMod." GB";
          print "$TotalMod Total disk space<br>\n ";
        } elsif ($Total < "1000000000") {
          $TotalMod = $Total/1000000;
          $TotalMod = substr ($TotalMod,0,4);
          $TotalMod = $TotalMod." MB";
          print "$TotalMod Total disk space<br>\n";
        }
        if ($Free > "1000000000") {
          $FreeMod = $Free/1000000000;
          $FreeMod = substr ($FreeMod,0,4);
          $FreeMod = $FreeMod." GB";
          print "$FreeMod Free disk space<br>\n";
        } elsif ($Free < "1000000000") {
          $FreeMod = $Free/1000000;
          $FreeMod = substr ($FreeMod,0,4);
          $FreeMod = $FreeMod." MB";
          print "$FreeMod Free disk space<br>\n";
        }
        if ($Used > "1000000000") {
          $UsedMod = $Used/1000000000;
          $UsedMod = substr ($UsedMod,0,4);
          $UsedMod = $UsedMod." GB";
          print "$UsedMod Used disk space<br>\n";
        } elsif ($Used < "1000000000") {
          $UsedMod = $Used/1000000;
          $UsedMod = substr ($UsedMod,0,4);
          $UsedMod = $UsedMod." MB";
          print "$UsedMod Used disk space<br>\n";
        }
      }
    $Count++ 
    }
    print '<br><h2>Username and password required for access to security info.</h2>';  
    print 'Username: <input type=text name=username size=25 maxlength=25><br>';
    print 'Password: <input type=password name=password size=14 maxlength=14><br>';
    print '<input type=submit value="Get Info">';
  }
}

sub show_it {
  open (MY_RESULT,"$my_dir/DiskSpace.txt");
  $show_it_inc = 0;
  while (<MY_RESULT>) {
    $show_results{$show_it_inc} = "$_";
    $show_it_inc++;
  }
  close (MY_RESULT);
}
1