Managing and Monitoring Disk Drives
Microsoft® Windows® 2000 Scripting Guide
Physical hard disk drives are the primary storage medium for information in any computing environment. Although organizations often use devices such as tape drives and compact disc drives for archiving data, these devices are not suited for day-to-day storage of user data. Only physical hard disks offer the speed and ease of use required for storing data and for running applications and the operating system.
To efficiently manage data, it is important to have a detailed inventory of all your physical disks, their capabilities, and their capacities. You can use the Win32_DiskDrive class to derive this type of inventory. As shown in Table 10.1, you can use the Win32_DiskDrive class to enumerate the disk drives installed on a computer and to return data such as the type of interface used by the drive, the drive manufacturer and model number, and the number of tracks, cylinders, sectors, and heads that compose the drive hardware.
Table 10.1 Win32_DiskDrive Properties
Property |
Description |
---|---|
BytesPerSector |
Number of bytes in each sector for the physical disk drive. |
Capabilities |
Array of capabilities of the disk drive. Values include: 0 - Unknown 1 - Other 2 - Sequential Access 3 - Random Access 4 - Supports Writing 5 - Encryption 6 - Compression 7 - Supports Removable Media 8 - Manual Cleaning 9 - Automatic Cleaning 10 - SMART Notification 11 - Supports Dual-Sided Media 12 - Ejection Prior to Drive Dismount Not Required |
CompressionMethod |
Algorithm or tool used by the device to support compression. |
Description |
Description of the disk drive. |
DeviceID |
Unique identifier of the disk drive with other devices on the system. |
Index |
Physical drive number of the given drive. A value of 0xFF indicates that the given drive does not map to a physical drive. |
InterfaceType |
Interface type of physical disk drive, typically IDE or SCSI. |
Manufacturer |
Name of the disk drive manufacturer. |
MediaType |
Type of media used or accessed by this device. Values are:
|
Model |
Manufacturer's model number of the disk drive. |
Name |
Label by which the disk drive is known. |
Partitions |
Number of partitions on the physical disk drive that are recognized by the operating system. |
PNPDeviceID |
Plug and Play device identifier of the logical device. |
SCSIBus |
SCSI bus number of the disk drive. |
SCSILogicalUnit |
SCSI logical unit number (LUN) of the disk drive. |
SCSIPort |
SCSI port number of the disk drive. |
SCSITargetId |
SCSI identifier number of the disk drive. |
SectorsPerTrack |
Number of sectors in each track for the physical disk drive. |
Signature |
Unique identifier for a disk drive. |
Size |
Size of the disk drive. Disk drive size is calculated by multiplying the total number of cylinders, the tracks in each cylinder, the sectors in each track, and the bytes in each sector. |
SystemName |
Name of the computer where the disk is installed. |
TotalCylinders |
Total number of cylinders on the physical disk drive. |
TotalHeads |
Total number of heads on the disk drive. |
TotalSectors |
Total number of sectors on the physical disk drive. |
TotalTracks |
Total number of tracks on the physical disk drive. |
TracksPerCylinder |
Number of tracks in each cylinder on the physical disk drive. |
Note
- The values reported for TotalCylinders, TotalHeads, TotalSectors, TotalTracks, and TracksPerCylinder are obtained through extended functions of BIOS interrupt 13h. These values might be inaccurate if the drive uses a translation scheme to support high capacity disk sizes. Consult the manufacturer for accurate drive specifications.
Scripting Steps
Listing 10.1 contains a script that enumerates the properties of all the physical drives installed on a computer. To carry out this task, the script must perform the following steps:
Create a variable to specify the computer name.
Use a GetObject call to connect to the Windows Management Instrumentation (WMI) namespace root\cimv2, and set the impersonation level to "impersonate."
Use the ExecQuery method to query the Win32_DiskDrive class.
This query returns a collection consisting of all the disk drives installed on the computer.
For each disk drive in the collection, echo the values of selected drive properties, including DeviceID (drive letter) and partitions, and total cylinders, heads, sectors, and tracks.
Because the drive capabilities are returned as an array, a For Each loop is used to enumerate each capability.
Listing 10.1 Enumerating Physical Disk Drive Properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|