New
#1
Can anyone tell me how to check Laptop battery health ?
Last edited by jk22; 03 Aug 2022 at 07:47.
Last edited by jk22; 03 Aug 2022 at 07:47.
Hello @jk22,
I don't know if this Battery information will interest you. It contains a LOT of useful information [ taken from one of my Scripts ] that you might find useful.
Copy & Paste
the following into a CMD Prompt and pressEnter
. . .
Battery Information::-
Code:echo. & PowerShell Get-wmiObject Win32_Battery ^| Format-List ^ @{L=' Name' ;E={;if([string]::IsNullOrWhiteSpace($_.Name)) {'N/A'} else {$_.Name}}}, ^ @{L=' Description' ;E={;if([string]::IsNullOrWhiteSpace($_.Description)) {'N/A'} else {$_.Description}}}, ^ @{L=' Creation Class Name' ;E={;if([string]::IsNullOrWhiteSpace($_.CreationClassName)) {'N/A'} else {$_.CreationClassName}}}, ^ @{L=' Device ID' ;E={;if([string]::IsNullOrWhiteSpace($_.DeviceID)) {'N/A'} else {$_.DeviceID.Trim() -Replace '\s ',' '}}}, ^ @{L=' Path [Relative]' ;E={;if([string]::IsNullOrWhiteSpace($_.__RELPATH)) {'N/A'} else {$_.__RELPATH}}}, ^ @{L=' Availability' ;E={;if([string]::IsNullOrWhiteSpace($_.Availability)) {'N/A'} else {$_.Availability}}}, ^ @{L=' Battery Recharge Time' ;E={;if([string]::IsNullOrWhiteSpace($_.BatteryRechargeTime)) {'N/A'} else {$_.BatteryRechargeTime}}}, ^ @{L=' Battery Status' ;E={;if([string]::IsNullOrWhiteSpace($_.BatteryStatus)) {'N/A'} else {$_.BatteryStatus}}}, ^ @{L=' Chemistry' ;E={;if([string]::IsNullOrWhiteSpace($_.Chemistry)) {'N/A'} else {$_.Chemistry}}}, ^ @{L=' Config Manager User Config' ;E={;if([string]::IsNullOrWhiteSpace($_.ConfigManagerUserConfig)) {'N/A'} else {$_.ConfigManagerUserConfig}}}, ^ @{L=' Config Manager Error Code' ;E={;if([string]::IsNullOrWhiteSpace($_.ConfigManagerErrorCode)) {'N/A'} else {$_.ConfigManagerErrorCode}}}, ^ @{L=' Design Capacity' ;E={;if([string]::IsNullOrWhiteSpace($_.DesignCapacity)) {'N/A'} else {$_.DesignCapacity}}}, ^ @{L=' Design Voltage' ;E={;if([string]::IsNullOrWhiteSpace($_.DesignVoltage)) {'N/A'} else {[Math]::Round($_.DesignVoltage / 1, 0).ToString('0,00# mVolts')}}}, ^ @{L=' Last Error Code' ;E={;if([string]::IsNullOrWhiteSpace($_.LastErrorCode)) {'N/A'} else {$_.LastErrorCode}}}, ^ @{L=' Error Cleared' ;E={;if([string]::IsNullOrWhiteSpace($_.ErrorCleared)) {'N/A'} else {$_.ErrorCleared}}}, ^ @{L=' Error Description' ;E={;if([string]::IsNullOrWhiteSpace($_.ErrorDescription)) {'N/A'} else {$_.ErrorDescription}}}, ^ @{L=' Estimated Charge Remaining' ;E={;if([string]::IsNullOrWhiteSpace($_.EstimatedChargeRemaining)) {'N/A'} else {[Math]::Round($_.EstimatedChargeRemaining / 100, 2).ToString('0.00 %%')}}}, ^ @{L=' Estimated Run Time Left' ;E={;if($_.EstimatedRunTime -eq '71582788') {'--^> [Running on AC Power]'} else {$_.EstimatedRunTime.ToString() + ' Minutes'}}}, ^ @{L=' Expected Life' ;E={;if([string]::IsNullOrWhiteSpace($_.ExpectedLife)) {'N/A'} else {$_.ExpectedLife}}}, ^ @{L=' Expected Battery Life' ;E={;if([string]::IsNullOrWhiteSpace($_.ExpectedBatteryLife)) {'N/A'} else {$_.ExpectedBatteryLife}}}, ^ @{L=' Full Charge Capacity' ;E={;if([string]::IsNullOrWhiteSpace($_.FullChargeCapacity)) {'N/A'} else {$_.FullChargeCapacity}}}, ^ @{L=' Install Date' ;E={;if([string]::IsNullOrWhiteSpace($_.InstallDate)) {'--^> [NO Date Present]'} else {$_.InstallDate}}}, ^ @{L=' Max Recharge Time' ;E={;if([string]::IsNullOrWhiteSpace($_.MaxRechargeTime)) {'N/A'} else {$_.MaxRechargeTime}}}, ^ @{L=' Power Management Supported' ;E={;if([string]::IsNullOrWhiteSpace($_.PowerManagementSupported)) {'N/A'} else {$_.PowerManagementSupported}}}, ^ @{L=' Power Management Capabilities';E={;if([string]::IsNullOrWhiteSpace($_.PowerManagementCapabilities)) {'N/A'} else {$_.PowerManagementCapabilities}}}, ^ @{L=' Smart Battery Version' ;E={;if([string]::IsNullOrWhiteSpace($_.SmartBatteryVersion)) {'N/A'} else {$_.SmartBatteryVersion}}}, ^ @{L=' System Creation Class Name' ;E={;if([string]::IsNullOrWhiteSpace($_.SystemCreationClassName)) {'N/A'} else {$_.SystemCreationClassName}}}, ^ @{L=' Time On Battery' ;E={;if([string]::IsNullOrWhiteSpace($_.TimeOnBattery)) {'N/A'} else {$_.TimeOnBattery}}}, ^ @{L=' Time To Full Charge' ;E={;if([string]::IsNullOrWhiteSpace($_.TimeToFullCharge)) {'N/A'} else {$_.TimeToFullCharge}}}, ^ @{L=' Scope' ;E={;if([string]::IsNullOrWhiteSpace($_.Scope)) {'N/A'} else {$_.Scope}}}, ^ @{L=' Path' ;E={;if([string]::IsNullOrWhiteSpace($_.Path)) {'N/A'} else {$_.Path}}}, ^ @{L=' Options' ;E={;if([string]::IsNullOrWhiteSpace($_.Options)) {'N/A'} else {$_.Options}}}, ^ @{L=' Class Path' ;E={;if([string]::IsNullOrWhiteSpace($_.ClassPath)) {'N/A'} else {$_.ClassPath}}}, ^ @{L=' Properties' ;E={;if([string]::IsNullOrWhiteSpace($_.Properties)) {'N/A'} else {$_.Properties}}}, ^ @{L=' System Properties' ;E={;if([string]::IsNullOrWhiteSpace($_.SystemProperties)) {'N/A'} else {$_.SystemProperties}}}, ^ @{L=' Qualifiers' ;E={;if([string]::IsNullOrWhiteSpace($_.Qualifiers)) {'N/A'} else {$_.Qualifiers}}}, ^ @{L=' Status' ;E={;if([string]::IsNullOrWhiteSpace($_.Status)) {'N/A'} else {$_.Status}}}, ^ @{L=' Status Info' ;E={;if([string]::IsNullOrWhiteSpace($_.StatusInfo)) {'N/A'} else {$_.StatusInfo}}} ^| ^ Out-String -Width 1000 -Stream ^| Where {$_.Trim().Length -gt 0} & echo.
Battery Status::-
Code:echo. & PowerShell Get-wmiObject -Class BatteryStatus -Namespace Root\wmi ^| Format-List ^ @{L=' Description' ;E={;if([string]::IsNullOrWhiteSpace($_.Description)) {'N/A'} else {$_.Description}}}, ^ @{L=' Instance Name' ;E={;if([string]::IsNullOrWhiteSpace($_.InstanceName)) {'N/A'} else {$_.InstanceName}}}, ^ @{L=' Path [Relative]' ;E={;if([string]::IsNullOrWhiteSpace($_.__RELPATH)) {'N/A'} else {$_.__RELPATH}}}, ^ @{L=' Voltage' ;E={;if([string]::IsNullOrWhiteSpace($_.Voltage)) {'N/A'} else {[Math]::Round($_.Voltage / 1, 0).ToString('0,00# mVolts')}}}, ^ @{L=' Power Online' ;E={;if([string]::IsNullOrWhiteSpace($_.PowerOnline)) {'N/A'} else {$_.PowerOnline}}}, ^ @{L=' Active' ;E={;if([string]::IsNullOrWhiteSpace($_.Active)) {'N/A'} else {$_.Active}}}, ^ @{L=' Remaining Capacity';E={;if([string]::IsNullOrWhiteSpace($_.RemainingCapacity)) {'N/A'} else {[Math]::Round($_.RemainingCapacity / 1, 0).ToString('0,00# mWh [Milliwatt Hours]')}}}, ^ @{L=' Critical' ;E={;if([string]::IsNullOrWhiteSpace($_.Critical)) {'N/A'} else {$_.Critical}}}, ^ @{L=' Charging' ;E={;if([string]::IsNullOrWhiteSpace($_.Charging)) {'N/A'} else {$_.Charging}}}, ^ @{L=' Charge Rate' ;E={;if([string]::IsNullOrWhiteSpace($_.ChargeRate)) {'N/A'} else {$_.ChargeRate}}}, ^ @{L=' Discharging' ;E={;if([string]::IsNullOrWhiteSpace($_.Discharging)) {'N/A'} else {$_.Discharging}}}, ^ @{L=' Discharge Rate' ;E={;if([string]::IsNullOrWhiteSpace($_.DischargeRate)) {'N/A'} else {$_.DischargeRate}}}, ^ @{L=' Tag' ;E={;if([string]::IsNullOrWhiteSpace($_.Tag)) {'N/A'} else {$_.Tag}}}, ^ @{L=' Timestamp_Object' ;E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_Object)) {'N/A'} else {$_.Timestamp_Object}}}, ^ @{L=' Timestamp_PerfTime';E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_PerfTime)) {'N/A'} else {$_.Timestamp_PerfTime}}}, ^ @{L=' Timestamp_Sys100NS';E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_Sys100NS)) {'N/A'} else {$_.Timestamp_Sys100NS}}}, ^ @{L=' Scope' ;E={;if([string]::IsNullOrWhiteSpace($_.Scope)) {'N/A'} else {$_.Scope}}}, ^ @{L=' Path' ;E={;if([string]::IsNullOrWhiteSpace($_.Path)) {'N/A'} else {$_.Path}}}, ^ @{L=' Options' ;E={;if([string]::IsNullOrWhiteSpace($_.Options)) {'N/A'} else {$_.Options}}}, ^ @{L=' Class Path' ;E={;if([string]::IsNullOrWhiteSpace($_.ClassPath)) {'N/A'} else {$_.ClassPath}}}, ^ @{L=' Properties' ;E={;if([string]::IsNullOrWhiteSpace($_.Properties)) {'N/A'} else {$_.Properties}}}, ^ @{L=' System Properties' ;E={;if([string]::IsNullOrWhiteSpace($_.SystemProperties)) {'N/A'} else {$_.SystemProperties}}}, ^ @{L=' Qualifiers' ;E={;if([string]::IsNullOrWhiteSpace($_.Qualifiers)) {'N/A'} else {$_.Qualifiers}}} ^| ^ Out-String -Width 1000 -Stream ^| Where {$_.Trim().Length -gt 0}
I hope this helps.
Whilst there is no formal definition of battery health, the generally-accepted meaning is the ratio of
Full charge capacity / Design capacity.
In your case that is 78%.
So you have only used up 22% of its potential lifespan.
All the best,
Denis
Hello,
In addition, you could generate a battery usage report below to help learn more about the health of your battery.
Generate Battery Usage Report in Windows 10
Can you check and tell me:
Free large file hosting. Send big files the easy way!
Btw I dont understand this: Battery Health was 88% and after doing battery Guage reset its now 78.4%.
The main thing is to look at your Battery capacity history from the report to see how much "full charge capacity" you currently have left compared to its original "design capacity".
From your report below, you have lost some capacity which is normal over time, but it's nothing to worried about. It's needs to get much lower before you need to think about replacing the battery.
It's normal for it to fluctuate some, but not sure why it dipped like that after doing the battery Guage reset. Hopefully, it will not dip anymore like that soon.
The shop I purchase this laptop he said he can replace the battery with other x1 carbon battery. Which have battery health 82% but if I do battery guage reset that battery I am assuming it will go more lower than 75% and I am not sure about how many cycles it ran. So, I am thinking to keep my laptop with this battery. What do you suggest ?
I've seen sudden drops in my own batteries of up to 8%.
In addition, I have never seen any estimation of accuracy for any battery measurements. When I was investigating power use during S3 Sleep, I discovered that the %-charged icon in the Taskbar SysTray ["Notification area"] can have inaccuracies of 3% so it might be that all battery-related measurements are similarly inaccurate for all any of us know.
I agree with you. There's no persuasive argument for changing it.
All the best,
Denis