4 Windows Commands That Reveal Your PC’s Real Health Before It Fails
wmic, Get-PhysicalDisk, perfmon and powercfg: 4 built-in Windows commands that warn you about your drive, system and battery before the problem shows up on screen.
Straight to the point — the 4 commands and what each one reveals:
- wmic diskdrive get status — a quick “OK” or “Pred Fail” answer about your drive, via S.M.A.R.T.
- Get-PhysicalDisk (PowerShell) — the more detailed version, with HealthStatus (Healthy/Warning/Unhealthy).
- perfmon /report — a full system check-up in about 60 seconds: CPU, RAM, disk, network.
- powercfg /batteryreport — compares your laptop battery’s original capacity with its current capacity.
- They all run without installing any program, right from Command Prompt or PowerShell.
- Introduction
- Why Use Built-in Commands Instead of Third-Party Programs
- S.M.A.R.T.: the Foundation of It All
- wmic diskdrive get status: the Quick Drive Thermometer
- Get-PhysicalDisk: the Modern, More Complete Version
- Comparing the Two Drive Commands
- perfmon /report: the Complete System Check-up
- How to Read the Perfmon Report
- powercfg /batteryreport: Your Battery’s Real Health
- How to Read the Battery Report
- When to Use Each Command in Practice
- A Simple Preventive Check Routine
- Warning Signs No Command Can Detect on Its Own
- Limitations: What These Commands DON’T Do
- When It’s Worth Going Beyond the Built-in Tools
- Quick Glossary
- Frequently Asked Questions
🩺 4 Windows Commands That Reveal Your PC’s Real Health
Many people only find out that their hard drive is dying, their SSD is at the end of its life or their laptop battery has already lost half its capacity when the problem is already on screen — blue screens, freezes, battery life cut in half. The good news is that Windows already ships with built-in tools, no third-party software needed, that show these warning signs weeks or even months in advance.
In this guide I’ll show you 4 real commands — two for drives, one for an overall system diagnosis and one for the battery — explaining the exact syntax, what each output means and when to use each one.
wmic diskdrive get status and Get-PhysicalDisk tell you whether your drive is healthy via S.M.A.R.T.; perfmon /report creates a full system report in about 1 minute; powercfg /batteryreport shows how much your laptop battery has worn down by comparing its original capacity with its current capacity. They all run in Command Prompt or PowerShell, with nothing to install.🧭 Why Use Built-in Commands Instead of Third-Party Programs
There are dozens of very good hardware monitoring programs — and if you already use one, great: the commands in this post don’t compete with them, they complement them. The advantage of built-in commands is that they need no installation, show no ads, don’t ask for excessive permissions and work on any Windows 10 or 11 with no prior setup.
That’s especially useful in three situations: when you’re working on someone else’s PC and don’t want to install anything extra, when the PC is already slow and you don’t want to burden it with a heavy program running in the background, or when you simply want a quick answer without opening any graphical interface.
If you like working in PowerShell and want to go deeper into what the system reports about your hardware, also see the msconfig myth: commands to check your CPU and memory. Here the focus is more surgical: specific commands that answer one precise question about the health of your drive, the system as a whole or the battery.
🔬 S.M.A.R.T.: the Foundation of It All
Both wmic diskdrive get status and Get-PhysicalDisk rely on a technology called S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), present in practically every hard drive and SSD made in the last 20 years. The drive internally monitors dozens of its own indicators — reallocated sectors, temperature, power-on hours, read error counts — and exposes a summarized verdict that Windows can read without having to understand every raw metric. That summarized verdict is what the commands in this post show you.
It’s important to understand one real limitation of S.M.A.R.T.: it detects gradual wear very well, but it doesn’t predict 100% of sudden failures (a burned-out electronic component, for example). Even so, data published by large cloud storage providers shows that most drives that fail give some S.M.A.R.T. warning before dying for good — which makes these commands a cheap, fast way to catch the problem early.
💽 wmic diskdrive get status: the Quick Drive Thermometer
wmic (Windows Management Instrumentation Command-line) is a long-standing Windows command-line tool. To check the health of every installed drive, open Command Prompt (it doesn’t need to be as administrator) and type:
| Field | Detail |
|---|---|
| Command | wmic diskdrive get status |
| Where to run it | Command Prompt (cmd.exe) |
| Needs admin? | No, not for this specific command |
| Expected output | One “Status” line per installed physical drive |
The output is short and to the point. If you have two drives (for example, an SSD and a secondary hard drive), you’ll see one line for each, in the order Windows detects them. The possible values are:
- OK — the drive is working normally, with no S.M.A.R.T. warning.
- Pred Fail (short for “Predicted Failure”) — the drive is predicting its own failure soon. It’s the most serious signal this command can give: back up immediately and plan to replace the drive.
- Unknown — Windows couldn’t read the drive’s S.M.A.R.T. status (common with some external USB SSDs whose controller doesn’t pass that information through).

| Situation | What to do |
|---|---|
| The command worked normally | Great, keep using it — but it’s worth learning the replacement below, because wmic is being phased out |
| “’wmic’ is not recognized” error (Windows 11 24H2+) | Use the direct replacement: Get-CimInstance Win32_DiskDrive | Select-Object Model, Status — same result, same reading (OK / Pred Fail) |
| You want the most complete diagnosis, with or without wmic | Use Get-PhysicalDisk | Select-Object FriendlyName, HealthStatus, OperationalStatus (command 2, right below) |
| You really need the classic wmic back | Settings → System → Optional features → View features → search for “WMIC” → install |
The limitation of wmic diskdrive get status is that it only gives you that one-word verdict — no temperature, no indication of which S.M.A.R.T. attribute triggered the warning, no distinction between hard drive and SSD. For that level of detail, the next command is more complete.
🖥️ Get-PhysicalDisk: the Modern, More Complete Version
Get-PhysicalDisk is a PowerShell cmdlet (part of the Storage module, included by default in every Windows 10 and 11) that does basically the same check as wmic, but with a lot more context in the output. Open PowerShell (no admin needed for the basic query) and just type:
| Field | Detail |
|---|---|
| Command | Get-PhysicalDisk |
| Where to run it | PowerShell (powershell.exe or Windows Terminal) |
| Output format | Table with FriendlyName, HealthStatus, OperationalStatus, Usage, Size |
A typical output looks like this:
| FriendlyName | OperationalStatus | HealthStatus | Size |
|---|---|---|---|
| NVMe SSD Samsung | OK | Healthy | 476 GB |
| ST2000DM Seagate | OK | Healthy | 1863 GB |
The field that matters most is HealthStatus, which has four possible values according to Microsoft’s official documentation for the Storage module:
- Healthy — everything normal, the drive is operating as expected.
- Warning — some indicator has started to degrade, but it isn’t critical yet. Worth checking more often.
- Unhealthy — confirmed, significant degradation. Equivalent to wmic’s “Pred Fail”, but with an intermediate level (Warning) that wmic can’t tell apart.
- Unknown — Windows couldn’t determine the state, usually because of a limitation in how the drive is connected.
A practical advantage of PowerShell here is filtering right in the query. To see only drives with problems, for example, the command becomes Get-PhysicalDisk | Where-Object HealthStatus -ne "Healthy" — if the list comes back empty, all is well; if a line appears, that’s the one that needs attention.

⚖️ Comparing the Two Drive Commands
| Criteria | wmic diskdrive get status | Get-PhysicalDisk |
|---|---|---|
| Level of detail | Low (only OK/Pred Fail/Unknown) | Medium-high (Healthy/Warning/Unhealthy/Unknown + size, model) |
| Where it runs | Command Prompt | PowerShell |
| Future in Windows | Being gradually phased out by Microsoft | Active — the currently recommended path |
| Easy to remember | Shorter to type | Longer name, but more intuitive |
| Can filter results | No, not without extra syntax | Yes, with Where-Object |
In practice, if you just want a quick yes-or-no answer (“is my drive OK or not?”), wmic still does the job. If you want to understand how serious the problem is before deciding whether to replace the drive, Get-PhysicalDisk is worth the effort of typing a slightly longer command — and it’s the path Microsoft itself is pushing for the future.
If one of your drives shows a warning, also run the 2-minute test that reveals whether your SSD is dying and, for a deeper look, how to use Victoria HDD/SSD.
📋 perfmon /report: the Complete System Check-up
Unlike the previous commands, which focus only on drives, perfmon /report starts the Windows Performance Monitor to collect data about the entire system for about 60 seconds and generate a complete HTML report, with an automatic diagnosis of CPU, memory, disk, network and general configuration.
| Field | Detail |
|---|---|
| Command | perfmon /report |
| Where to run it | Run (Windows + R) or Command Prompt/PowerShell |
| Needs admin? | Yes, running as administrator is recommended for a full collection |
| Collection time | About 60 seconds monitoring the system under normal use |
| Output format | HTML report opened automatically in your default browser |
When you run the command, Windows opens a window saying “Collecting data for 60 seconds…” — during that time it’s best to leave the PC doing something close to normal use (it doesn’t need to sit idle, but it isn’t the ideal moment to open 20 heavy programs at once, because that skews the reading). Once collected, the report opens automatically.

🔍 How to Read the Perfmon Report
The report is split into sections, and the most important one for anyone who just wants a quick verdict is right at the top: Diagnostic Results, with warnings and errors already highlighted, each with a plain-language explanation of what was found — for example, an outdated driver, a service failing to start or a drive close to full capacity. After that come more technical, detailed sections:
- Software Configuration — Windows version, uptime, list of installed services.
- Hardware Configuration — processor model, amount of RAM installed and in use, network information.
- CPU — the processes using the most processing power during the collection.
- Network — active network adapters and traffic statistics.
- Disk — drive response time and free space per volume.
- Memory — physical memory and paging (swap) usage at the time of the collection.
perfmon /report instead of guessing — in under 2 minutes (60 seconds of collection plus report generation) you get an automated diagnosis pointing to exactly which component is under stress.Keep in mind that this report is a snapshot — it reflects what was happening during those specific 60 seconds, not a history over time. If the problem is intermittent (it only freezes now and then, for example), you may need to run the command more than once, at different times, to catch the symptom in the act.
🔋 powercfg /batteryreport: Your Battery’s Real Health
If you use a laptop, this is probably the most valuable command on this list, because it answers a question most users can never answer precisely: “how much of its original capacity has my battery already lost?”. Windows natively keeps a history of battery usage over time — and powercfg /batteryreport turns that history into a complete HTML report.
wmic and Get-PhysicalDisk, which answer right in the terminal, powercfg /batteryreport only prints a confirmation that it saved a file — something like Battery life report saved to file path C:\WINDOWS\system32\battery-report.html. If you run it and think “nothing happened”, it’s because the next step is missing: opening the generated HTML file.| Field | Detail |
|---|---|
| Basic command | powercfg /batteryreport |
| Save to a specific location | powercfg /batteryreport /output "C:\reports\battery.html" |
| Limit the period analyzed | powercfg /batteryreport /duration 30 (last 30 days) |
| Save to the desktop and open it in the browser (PowerShell) | powercfg /batteryreport /output "$env:USERPROFILE\Desktop\battery-report.html"; ii "$env:USERPROFILE\Desktop\battery-report.html" |
| Where to run it | Command Prompt or PowerShell, as administrator |
| Where the report is saved by default (basic command) | In the terminal’s current folder — if you ran it inside C:\WINDOWS\system32, that’s where the file lands, which often confuses people expecting it on the desktop |
After running the basic command, go to the folder shown in the message and open battery-report.html with any browser — no special program needed, it’s a regular web page. To skip that manual search, use the combined version from the table above: it saves the file straight to your desktop and opens it in your default browser automatically.

📊 How to Read the Battery Report
The report has several sections, but the two numbers that answer the key question — “how worn is my battery?” — are in the Installed batteries summary at the top and in the Battery capacity history table:
- Design Capacity — the battery’s original factory capacity, measured in mWh (milliwatt-hours).
- Full Charge Capacity — the maximum capacity the battery can hold today, given its current wear.
The math is simple: divide Full Charge Capacity by Design Capacity and multiply by 100 to get the current health percentage. For example, a battery with a Design Capacity of 50,000 mWh and a Full Charge Capacity of 41,000 mWh is at 82% health — in other words, it has already lost 18% of its original capacity.
| Battery health | What it means in practice |
|---|---|
| Above 90% | Battery in great shape, minimal wear |
| 80% to 90% | Normal wear for 1–2 years of use, still comfortable day to day |
| 60% to 80% | Noticeable wear — battery life visibly shorter than when new |
| Below 60% | Heavily worn battery, a replacement is usually worth it |
The report also includes a Recent usage section and a Battery life estimates table comparing estimated runtime across different periods — useful to see whether the drop in battery life was gradual (normal wear) or sudden (possibly a specific defect).
🎯 When to Use Each Command in Practice
| Situation | Recommended command |
|---|---|
| PC started making strange noises or freezing when opening files | Get-PhysicalDisk or wmic diskdrive get status |
| Quick routine check, no details needed | wmic diskdrive get status |
| You want to know exactly how serious the drive problem is | Get-PhysicalDisk |
| PC is slow and you can’t point to the cause | perfmon /report |
| You want a general diagnosis before deciding to reinstall or replace a part | perfmon /report |
| Laptop battery life dropping noticeably | powercfg /batteryreport |
| Deciding whether it’s worth replacing the laptop battery | powercfg /batteryreport |
And if the drive commands point to corrupted system files rather than a failing drive, the next step is the SFC and DISM repair.
🗓️ A Simple Preventive Check Routine
There’s no need to run these commands every day — that would be overkill and the result doesn’t change from one check to the next in just a few days. A reasonable schedule for most home users:
- Monthly:
wmic diskdrive get statusorGet-PhysicalDisk— a quick check that takes less than 10 seconds. - Every 2–3 months, or whenever you notice slowness:
perfmon /report— to catch any general performance degradation early. - Every 3–6 months, if you use a laptop:
powercfg /batteryreport— to follow the battery’s wear curve over time, not just a single number.
If you use your PC for work or keep important files without a cloud backup, cut those intervals in half — running a free command costs practically nothing compared to losing files to a drive that had been warning you all along.
👂 Warning Signs No Command Can Detect on Its Own
As useful as these 4 commands are, they don’t replace paying attention to physical and behavioral signs that sometimes appear before any software warning:
- Clicking or grinding noises coming from the case — typical of a mechanical hard drive with a read-head problem, often before any S.M.A.R.T. warning appears.
- A laptop bulging near the battery — a serious physical sign of a degraded lithium-ion battery that requires immediate replacement for safety reasons, regardless of what powercfg shows.
- A burning smell or abnormal overheating — never wait for a command to confirm this; turn the device off and take it for a technical inspection.
- Files getting corrupted for no apparent reason — it can be a sign of a degrading drive even while S.M.A.R.T. still says “OK”, because not every failure is captured by the monitored attributes.
Also remember that a PC that’s healthy in hardware can still be compromised by malicious software running in the background, eating CPU and disk without showing up in any of the reports in this post — see how trojans work and how to protect yourself.
🚧 Limitations: What These Commands DON’T Do
To avoid false expectations, here’s what these 4 commands can’t do:
- They don’t measure component temperatures in real time (CPU, GPU, drive) — for that you need a dedicated sensor monitoring program.
- They don’t run stress tests or performance benchmarks — they show a snapshot of the current state, not maximum capacity under heavy load.
- S.M.A.R.T. (used by the drive commands) doesn’t predict 100% of failures — some kinds of sudden electronic defects give no prior warning.
powercfg /batteryreportdoesn’t replace battery calibration in rare cases of incorrect percentage readings — if the battery shows 100% and shuts off suddenly, the problem may be something else (driver, manufacturer firmware).
📈 When It’s Worth Going Beyond the Built-in Tools
The commands in this post handle one-off diagnostics and routine preventive checks well. But if you want continuous monitoring with real-time temperature graphs, sound alerts when a sensor crosses a limit, or a detailed history of every component over weeks, it’s worth trying a more robust free tool — dedicated hardware monitoring programs are the natural next step once you’ve mastered the built-in commands in this post.
For drives specifically, a bench tool like the one in the Victoria HDD/SSD guide goes attribute by attribute and even tests the surface of the disk.
📖 Quick Glossary
- S.M.A.R.T.: a technology built into hard drives and SSDs that internally monitors wear indicators and exposes a health verdict the operating system can read.
- wmic: Windows Management Instrumentation Command-line, an older Windows command-line tool used to query system information.
- Cmdlet: the name for PowerShell’s built-in commands (like Get-PhysicalDisk), in Verb-Noun format.
- HealthStatus: a property returned by Get-PhysicalDisk indicating the drive’s health (Healthy, Warning, Unhealthy or Unknown).
- Perfmon: short for Performance Monitor, Windows’ built-in tool for collecting system performance metrics.
- mWh (milliwatt-hour): the unit Windows uses to measure the energy a laptop battery can store.
- Design Capacity: a battery’s original factory capacity, before any wear from use.
- Full Charge Capacity: the real maximum capacity the battery can hold today, reflecting accumulated wear.
FAQ
Do I need to be a Windows administrator to run these commands?
wmic diskdrive get status and Get-PhysicalDisk work without administrator rights. perfmon /report and powercfg /batteryreport work better, and sometimes require, running as administrator for a complete data collection.
Do these commands work on SSDs too, or only on mechanical hard drives?
They work on both. S.M.A.R.T. is present in practically every modern SSD and hard drive, although the attributes monitored internally differ a bit between the two technologies.
What should I do if wmic diskdrive get status shows Pred Fail?
Back up your important files immediately and plan to replace the drive as soon as possible. This warning means the drive’s own firmware has already detected a real risk of failure.
Does powercfg /batteryreport work on a desktop without a battery?
It doesn’t generate useful data, because desktops have no internal battery monitored by Windows. The command is meant for laptops, tablets and some hybrid models.
How often should I run perfmon /report?
It doesn’t need to be a daily routine. A check every 2 to 3 months, or whenever you notice unexplained slowness, is enough for most home users.
Does Get-PhysicalDisk fully replace wmic diskdrive get status?
In practice yes, and it is the path Microsoft recommends today, since wmic is being gradually phased out and is no longer installed by default on Windows 11 24H2 and newer.
Where is the powercfg /batteryreport file saved?
In the folder the terminal was in when you ran it — often C:\Users\YourName, or C:\WINDOWS\system32 when the terminal was opened as administrator. You can choose another location with the /output parameter.
Do these commands replace a temperature monitoring program?
No. None of the 4 commands in this post measures component temperatures in real time — for that you need a dedicated hardware sensor monitoring program.
🎮 How much did you learn?
Once you pick an answer it locks in — reload the page to try again.
1. What does Pred Fail mean in the output of wmic diskdrive get status?
2. What are the possible HealthStatus values in Get-PhysicalDisk?
3. How long does perfmon /report collect data by default?
4. How do you calculate battery health from the powercfg report?
5. Do these commands measure component temperatures in real time?
Esse conteúdo ajudou você?
Compartilha com alguém que também vai curtir — é rapidinho e ajuda muito o nosso trabalho a chegar em mais gente.
Conhecimento só tem valor quando compartilhado.
Manter essa estrutura de laboratórios funcionando e produzir conteúdos de engenharia de forma totalmente gratuita e acessível exige tempo e dedicação diária à bancada. Esse guia salvou os seus arquivos? Você pode contribuir diretamente para manter o nosso trabalho independente forte. Apoie doando qualquer valor!
Quer apoiar a nossa bancada independente?
[email protected]