#!perl use Win32::OLE('in'); use constant wbemFlagReturnImmediately => 0x10; use constant wbemFlagForwardOnly => 0x20; $computer = ; $objWMIService = Win32::OLE->GetObject ("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n"; $colItems = $objWMIService->ExecQuery ("SELECT * FROM Win32_LogicalDisk","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly); foreach my $objItem (in $colItems) { print "Description: $objItem->{Description}\n"; print "Device ID: $objItem->{DeviceID}\n"; print "File System: $objItem->{FileSystem}\n"; print "Free Space: $objItem->{FreeSpace}\n"; print "Name: $objItem->{Name}\n"; print "Size: $objItem->{Size}\n"; print "System Name: $objItem->{SystemName}\n"; print "Volume Serial Number: $objItem->{VolumeSerialNumber}\n"; print "\n"; }