- 论坛徽章:
- 0
|
use Win32::OLE qw(in);
use constant vbTab => "\x09";
$strComputer = '.';
# ------ END CONFIGURATION ---------
print "Physical Disks:\n";
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$colDisks = $objWMI->ExecQuery('select * from Win32_DiskDrive');
foreach my $objDisk (in $colDisks) {
print ' Caption: ' . vbTab . $objDisk->Caption, "\n";
print ' Device ID: ' . vbTab . $objDisk->DeviceID, "\n";
print ' Manufacturer: ' . vbTab . $objDisk->Manufacturer, "\n";
print ' Media Type: ' . vbTab . $objDisk->MediaType, "\n";
print ' Model: ' . vbTab . $objDisk->Model, "\n";
print ' Name: ' . vbTab . $objDisk->Name, "\n";
print ' Partitions: ' . vbTab . $objDisk->Partitions, "\n";
print ' Size: ' . vbTab . $objDisk->Size, "\n";
print ' Status: ' . vbTab . $objDisk->Status, "\n";
print "\n";
}
print "\n";
print "Logical Disks:\n";
$colDisks = $objWMI->ExecQuery('select * from Win32_LogicalDisk');
foreach my $objDisk (in $colDisks) {
print ' DeviceID: ' . $objDisk->DeviceID, "\n";
print ' Description: ' . $objDisk->Description, "\n";
print ' VolumeName: ' . $objDisk->VolumeName, "\n";
print ' DriveType: ' . $objDisk->DriveType, "\n";
print ' FileSystem: ' . $objDisk->FileSystem, "\n";
print ' FreeSpace: ' . $objDisk->FreeSpace, "\n";
print ' MediaType: ' . $objDisk->MediaType, "\n";
print ' Name: ' . $objDisk->Name, "\n";
print ' Size: ' . $objDisk->Size, "\n";
print "\n";
} |
可以读出所有硬盘和显示分区。
但是没有分配盘符的分区(隐藏)还是没法显示啊。。。 |
|