The Win32_Volume class represents an area of storage on a hard disk. The class returns local volumes that are formatted, unformatted, mounted or offline. A volume is formatted by using a file system, such as FAT or NTFS, and may have a drive letter assigned to it. A single hard disk can have multiple volumes, and volumes can also span multiple disks. The Win32_Volume class does not support diskette drive management.

Quick Start


Most WMI properties are read-only. You can only read values but not change them. Few properties are also writeable. You can assign new values to those properties.

Writeable properties are marked with this icon:   


Data type UInt16

Access describes whether the media is readable (value=1), writeable (value=2), or both (value=3). “Unknown” (0) and “Write Once” (4) can also be defined.


Data type Boolean

If $true, the Automount property indicates that the volume will be mounted to the file system automatically when the first I/O is issued. Otherwise it will not be mounted until explicitly mounted with the Mount method or by adding a drive letter or mount point.


Data type UInt16

The availability and status of the device. For example, the Availability property indicates that the device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). Regarding the power saving states, these are defined as follows: Value 13 (“Power Save – Unknown”) indicates that the device is known to be in a power save mode, but its exact status in this mode is unknown; 14 (“Power Save – Low Power Mode”) indicates that the device is in a power save state but still functioning, and may exhibit degraded performance; 15 (“Power Save – Standby”) describes that the device is not functioning but could be brought to full power ‘quickly’; and value 17 (“Power Save – Warning”) indicates that the device is in a warning state, though also in a power save mode.

$Availability_ReturnValue = @{ 1='Other' 2='Unknown' 3='Running/Full Power' 4='Warning' 5='In Test' 6='Not Applicable' 7='Power Off' 8='Off Line' 9='Off Duty' 10='Degraded' 11='Not Installed' 12='Install Error' 13='Power Save - Unknown' 14='Power Save - Low Power Mode' 15='Power Save - Standby' 16='Power Cycle' 17='Power Save - Warning' 18='Paused' 19='Not Ready' 20='Not Configured' 21='Quiesced' }


Data type UInt64

Size in bytes of the blocks which form this StorageExtent. If variable block size, then the maximum block size in bytes should be specified. If the block size is unknown or if a block concept is not valid (for example, for Aggregate Extents, Memory or LogicalDisks), enter a 1.


Data type Boolean

The BootVolume property indicates whether the volume contains the currently running operating system files.


Data type UInt64

The Capacity property indicates in bytes, the size of the volume.


Data type String

The Caption property is a short textual description (one-line string) of the object.


Data type Boolean

If $true, the volume exists as a single compressed entity, such as a DoubleSpace volume.If file based compression is supported (such as on NTFS), this property will be $false.


Data type UInt32

Indicates the Win32 Configuration Manager error code. The following values may be returned:

0 This device is working properly.

1 This device is not configured correctly.

2 Windows cannot load the driver for this device.

3 The driver for this device might be corrupted, or your system may be running low on memory or other resources.

4 This device is not working properly. One of its drivers or your registry might be corrupted.

5 The driver for this device needs a resource that Windows cannot manage.

6 The boot configuration for this device conflicts with other devices.

7 Cannot filter.

8 The driver loader for the device is missing.

9 This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.

10 This device cannot start.

11 This device failed.

12 This device cannot find enough free resources that it can use.

13 Windows cannot verify this device’s resources.

14 This device cannot work properly until you restart your computer.

15 This device is not working properly because there is probably a re-enumeration problem.

16 Windows cannot identify all the resources this device uses.

17 This device is asking for an unknown resource type.

18 Reinstall the drivers for this device.

19 Your registry might be corrupted.

20 Failure using the VxD loader.

21 System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device.

22 This device is disabled.

23 System failure: Try changing the driver for this device. If that doesn’t work, see your hardware documentation.

24 This device is not present, is not working properly, or does not have all its drivers installed.

25 Windows is still setting up this device.

26 Windows is still setting up this device.

27 This device does not have valid log configuration.

28 The drivers for this device are not installed.

29 This device is disabled because the firmware of the device did not give it the required resources.

30 This device is using an Interrupt Request (IRQ) resource that another device is using.

31 This device is not working properly because Windows cannot load the drivers required for this device.

$ConfigManagerErrorCode_ReturnValue = @{ 0='This device is working properly.' 1='This device is not configured correctly.' 2='Windows cannot load the driver for this device.' 3='The driver for this device might be corrupted    4= or your system may be running low on memory or other resources.' 5='This device is not working properly. One of its drivers or your registry might be corrupted.' 6='The driver for this device needs a resource that Windows cannot manage.' 7='The boot configuration for this device conflicts with other devices.' 8='Cannot filter.' 9='The driver loader for the device is missing.' 10='This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.' 11='This device cannot start.' 12='This device failed.' 13='This device cannot find enough free resources that it can use.' 14='Windows cannot verify this device's resources.' 15='This device cannot work properly until you restart your computer.' 16='This device is not working properly because there is probably a re-enumeration problem.' 17='Windows cannot identify all the resources this device uses.' 18='This device is asking for an unknown resource type.' 19='Reinstall the drivers for this device.' 20='Failure using the VxD loader.' 21='Your registry might be corrupted.' 22='System failure: Try changing the driver for this device. If that does not work 23= see your hardware documentation. Windows is removing this device.' 24='This device is disabled.' 25='System failure: Try changing the driver for this device. If that doesn't work 26= see your hardware documentation.' 27='This device is not present   28= is not working properly    29= or does not have all its drivers installed.' 30='Windows is still setting up this device.' 31='Windows is still setting up this device.' }


Data type Boolean

Indicates whether the device is using a user-defined configuration.


Data type String

CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.


Data type String

The Description property provides a textual description of the object.


Data type String

The DeviceID property contains a string uniquely identifying the volume on the system.


Data type Boolean

Indicates if the ChkDsk method should be run at next boot up.


Data type String

The DriveLetter property indicates the drive letter assigned to the volume. This property is NULL for volumes without drive letters.


Data type UInt32

The DriveType property contains a numeric value corresponding to the type of disk drive this logical disk represents. Please refer to the Platform SDK documentation for additional values.

Example: A CD-ROM drive would return 5.


Data type Boolean

ErrorCleared is a boolean property indicating that the error reported in LastErrorCode property is now cleared.


Data type String

ErrorDescription is a free-form string supplying more information about the error recorded in LastErrorCode property, and information on any corrective actions that may be taken.


Data type String

ErrorMethodology is a free-form string describing the type of error detection and correction supported by this storage extent.


Data type String

The FileSystem property indicates the file system on the logical disk. Example: NTFS


Data type UInt64

The FreeSpace property indicates in bytes how much free space is available on the volume.


Data type Boolean

If context indexing is enabled this property will be $true


Data type DateTime

The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.


Data type String

The Label property indicates the volume name of the logical disk. Constraints: Maximum 32 characters. This property is NULL for a volume without a label.


Data type UInt32

LastErrorCode captures the last error code reported by the logical device.


Data type UInt32

Maximum length of a filename component supported by the Windows drive. A filename component is that portion of a filename between backslashes. The value can be used to indicate that long names are supported by the specified file system. For example, for a FAT file system supporting long names, the function stores the value 255, rather than the previous 8.3 indicator. Long names can also be supported on systems that use the NTFS file system. Example: 255


Data type String

The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.


Data type UInt64

Total number of consecutive blocks, each block the size of the value contained in the BlockSize property, which form this storage extent. Total size of the storage extent can be calculated by multiplying the value of the BlockSize property by the value of this property. If the value of BlockSize is 1, this property is the total size of the storage extent.


Data type Boolean

The PageFilePresent property indicates whether the volume contains a system memory paging file.


Data type String

Indicates the Win32 Plug and Play device ID of the logical device. Example: *PNP030b


Data type UInt16

Indicates the specific power-related capabilities of the logical device. The array values, 0=”Unknown”, 1=”Not Supported” and 2=”Disabled” are self-explanatory. The value, 3=”Enabled” indicates that the power management features are currently enabled but the exact feature set is unknown or the information is unavailable. “Power Saving Modes Entered Automatically” (4) describes that a device can change its power state based on usage or other criteria. “Power State Settable” (5) indicates that the SetPowerState method is supported. “Power Cycling Supported” (6) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 (“Power Cycle”). “Timed Power On Supported” (7) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 (“Power Cycle”) and the Time parameter set to a specific date and time, or interval, for power-on.


Data type Boolean

Boolean indicating that the Device can be power managed – ie, put into a power save state. This boolean does not indicate that power management features are currently enabled, or if enabled, what features are supported. Refer to the PowerManagementCapabilities array for this information. If this boolean is $false, the integer value 1, for the string, “Not Supported”, should be the only entry in the PowerManagementCapabilities array.


Data type UInt16

$PowerState_ReturnValue = @{ 1= 2='(unknown)' 3='(unknown)' 4='(unknown)' 5='(unknown)' 6='(unknown)' }


Data type String

A free form string describing the media and/or its use.


Data type Boolean

The QuotasEnabled property indicates that quota management is enabled for this volume.


Data type Boolean

The QuotasIncomplete property indicates that quota management was used but has been disabled. Incomplete refers to the information left in the file system after quota management was disabled.


Data type Boolean

The QuotasRebuilding property indicates that the file system is in the active process of compiling information and setting the disk up for quota management.


Data type UInt32

The SerialNumber property indicates the serial number of the volume. Example: A8C3D032


Data type String

The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are “OK”, “Degraded” and “Pred Fail”. “Pred Fail” indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are “Error”, “Starting”, “Stopping” and “Service”. The latter, “Service”, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither “OK” nor in one of the other states.

'OK','Error','Degraded','Unknown','Pred Fail','Starting','Stopping','Service','Stressed','NonRecover','No Contact','Lost Comm'


Data type UInt16

StatusInfo is a string indicating whether the logical device is in an enabled (value = 3), disabled (value = 4) or some other (1) or unknown (2) state. If this property does not apply to the logical device, the value, 5 (“Not Applicable”), should be used.

$StatusInfo_ReturnValue = @{ 1='Other' 2='Unknown' 3='Enabled' 4='Disabled' 5='Not Applicable' }


Data type Boolean

The SupportsDiskQuotas property indicates if the volume supports disk quotas.


Data type Boolean

The SupportsFileBasedCompression property indicates if the volume supports file based compression as is the case with the NTFS file system.


Data type String

The scoping System’s CreationClassName.


Data type String

The scoping System’s Name.


Data type Boolean

The SystemVolume property indicates whether the volume contains the hardware specific files required to start the operating system.


Data type DateTime



See Also

Help and Questions

  Community Content

You are cordially invited to add knowledge to this page. If you have sample code or additional information related to this WMI class, please share it. Use the comment form to send your information. We will edit and incorparate it into the reference library. Thank you!