The following script creates a picture format (to enable TB sizings) and then runs a powershell command to import the disk size and disk free for each mapped drive on the SAS server:

/* create readable format */
%let onetb=%sysevalf(1024**4);
proc format;
  picture sizekmgt
    0 - < &onetb=[sizekmg10.1]
    &onetb - high ='000000.9TB' 
      (multiplier=
        %sysevalf(1/&onetb.));
run;

filename in pipe "powershell 
  -Command ""get-WmiObject
    win32_logicaldisk  
    -ComputerName &syshostname""
  ";

data s;
  infile in;
  format DevID 
    VolumeName $100. 
    FreeSpace Size SIZEKMGt22.1 
    diskUsed percent.;
  retain DevID VolumeName 
    FreeSpace Size;
  input;
  if _infile_=:'DeviceID' then 
    DevID=scan(_infile_,2,':');
  else if _infile_=:'FreeSpace' 
    then FreeSpace=
      scan(_infile_,2,':');
  else if _infile_=:'Size' then
    Size=scan(_infile_,2,':'); 
  else if _infile_=:'VolumeName' 
  then do;
    VolumeName=coalescec(
      scan(_infile_,2,':')
    ,devid);
    diskUsed=1-(freespace/size);
    output;
  end;
run;