Enumerate the disks on a system (Perl)

This code can be found in Chapter 1 of Windows Server Cookbook

Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.

Find out how to download all of the Perl code from this site.

# Adapted from VBScript code contained in the book:
#      "Windows Server Cookbook" by Robbie Allen
# ISBN: 0-596-00633-0

use Win32::OLE qw(in);
$Win32::OLE::Warn = 3;

$strComputer = '.';
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$objDisks = $objWMI->InstancesOf('Win32_LogicalDisk');
foreach my $objDisk (in $objDisks) {
    print 'DeviceID: ' . $objDisk->DeviceID, "\n";
    print 'FileSystem: ' . $objDisk->FileSystem, "\n";
    print 'FreeSpace: ' . $objDisk->FreeSpace, "\n";
    print 'Size: ' . $objDisk->Size, "\n";
    print "\n";
}

This code has been viewed 885 times.

New from the creators of TechTasks.com: StatSheet.com