use Win32::OLE 'in'; my $strComputer = "192.168.0.10"; my $objWMI = Win32::OLE->GetObject("winmgmts:\\\\$strComputer\\root\\cimv2"); # or die "Failed to create object"; my $objDisks = $objWMI->InstancesOf("Win32_LogicalDisk"); for my $objDisk (in $objDisks){ print "DeviceID: ", $objDisk-DeviceID, "\n"; print "FileSystem: ", $objDisk->FileSystem ,"\n"; print "FreeSpace: ", $objDisk->FreeSpace,"\n"; print "Name: ", $objDisk->Name,"\n"; print "Size: ", $objDisk->Size,"\n"; print "\n"; }