Use the command wmic diskdrive get size in an elevated Command Prompt to retrieve the exact total capacity of a physical hard drive in bytes. This WMI query directly returns the raw byte count without requiring manual conversion from sectors, ensuring precise accuracy for storage calculations and inventory management.
Prerequisites for Execution
To run this diagnostic command successfully, you must have administrative privileges on the Windows machine. Standard user accounts are restricted from accessing low-level hardware information through the Windows Management Instrumentation (WMI) service. Open the Start menu, type cmd, right-click the Command Prompt result, and select Run as administrator. If you do not elevate the prompt, the system will return an Access Denied error immediately upon execution.
The Primary Command
The most reliable method to obtain the exact disk size is querying the Win32_DiskDrive class. This class represents physical disk drives attached to the system, excluding logical partitions or virtual drives. Enter the following command exactly as shown:
wmic diskdrive get size
Upon execution, the output will display a header row labeled Size followed by one or more integer values. Each integer corresponds to a physical disk detected by the operating system. For example, if your computer has a single 500GB hard drive, the output might look like this:
Size
500107862016
This number, 500107862016, is the exact total capacity in bytes. It includes all sectors reserved for formatting and file system structures, providing the true hardware limit rather than the usable space reported by partition managers.
Interpreting the Output
Understanding the difference between manufacturer specifications and the WMI output is crucial for accurate data analysis. Storage manufacturers typically define one gigabyte as 1,000,000,000 bytes. However, Windows and most software calculate one gibibyte (GiB) as 1,073,741,824 bytes. When you see the value 500107862016 bytes, dividing it by 1,000,000,000 gives approximately 500.1 GB, which matches the marketing label on the drive casing.
If you need to convert this byte count into binary gigabytes (GiB) for technical documentation, divide the result by 1,073,741,824. Using the previous example: 500107862016 / 1073741824 equals approximately 465.7 GiB. This discrepancy is normal and does not indicate missing storage or hardware failure. The WMI command provides the absolute truth of the physical medium's capacity.
Filtering Specific Drives
In systems with multiple physical drives, such as laptops with both an SSD and a mechanical HDD, the command lists all sizes sequentially. To identify which size belongs to which drive, you can request additional identifying properties. Modify the command to include the Model and Index fields:
wmic diskdrive get Model, Size, Index
This output pairs each model name with its specific byte size and device index. The Index value corresponds to the order in which the BIOS initializes the devices. This helps correlate the command-line output with the Device Manager view under Disk Management. You can verify the physical location by checking which drive letter or volume is associated with that specific index number in the disk management console.
Alternative Methods for Different Contexts
While WMIC is effective for legacy compatibility, modern PowerShell offers more structured data handling. You can achieve similar results using PowerShell cmdlets if you prefer object-oriented output over plain text strings. Use the Get-PhysicalDisk cmdlet to retrieve detailed attributes including Size. This method automatically handles unit conversions and provides metadata about the disk type (SSD vs HDD).
For networked environments or remote server management, you can extend the WMIC syntax by adding the /node: parameter followed by the target hostname. This allows administrators to check storage capacities across a fleet of machines without logging into each individually. Ensure that WMI firewall exceptions are enabled on the remote targets for this to function correctly.
Troubleshooting Common Errors
If the command returns no data or an empty list, verify that the disk subsystem drivers are loaded correctly. Sometimes, disconnected or offline disks may not appear in the Win32_DiskDrive query until they are brought online in Disk Management. Additionally, ensure that you are not filtering out results inadvertently. Some third-party security software may block WMI queries, resulting in silent failures. Check the Event Viewer under Applications and Services Logs for any WMI-related errors if the command hangs indefinitely.
Another common issue arises when dealing with USB external drives. The command works identically for USB-connected storage as it does for internal SATA or NVMe drives. The key is that the drive must be recognized by the OS as a physical disk. If an external drive is mounted but not initialized, it may still report a size, but it will lack partition information. Always ensure the drive is fully initialized before relying on these figures for critical data planning.
Frequently Asked Questions
Does wmic diskdrive get size include unallocated space?
Yes, the size returned represents the total physical capacity of the drive hardware. It encompasses all areas, including those formatted with partitions and those left unallocated. It does not subtract overhead for bad blocks or reserved sectors managed by the firmware.
How do I find the size of a logical partition instead of the whole disk?
Use the command wmic logicaldisk get size, caption to query logical volumes. This returns the available space within specific partitions or drives like C: or D:, rather than the total physical disk capacity. It reflects the actual storage space available to the operating system for files.
Can I use this command on Windows Server editions?
Absolutely. The WMI infrastructure is consistent across all modern Windows Server versions, including Server 2019 and Server 2022. Administrators frequently use this command for automated inventory scripts and compliance reporting in enterprise environments.
Why is my disk size slightly less than the advertised GB?
This is due to the difference between decimal gigabytes (used by manufacturers) and binary gibibytes (used by Windows). A 1TB drive is 1,000,000,000,000 bytes, but Windows displays it as roughly 931 GiB. The WMI command shows the raw bytes, allowing you to verify this mathematical reality accurately.
Is there a risk of running this command incorrectly?
No, reading hardware properties via WMI is a non-destructive operation. It only queries information from the system registry and hardware abstraction layer. There is no risk of data loss, formatting, or modification to the disk structure when executing read-only commands like this.