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 DeviceID VolumeName $100. FreeSpace Size SIZEKMGt22.1 disk_used percent.;
retain DeviceID VolumeName FreeSpace Size;
  input;
if _infile_=:'DeviceID' then DeviceID=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,':'),deviceid);
  disk_used=1-(freespace/size);
  output;
end;
run;