Can anyone tell me how to check Laptop battery health ?

Page 1 of 3 123 LastLast

  1. Posts : 369
    Windows 10 21H1 Pro 64-bit
       #1

    Can anyone tell me how to check Laptop battery health ?


    Hey,

    I want to know how to check Laptop battery usage time as I see there is usage history and battery life estimates. Moreover, I want to know if my Laptop battery health is in good condition ?

    Battery Health was 88% and after doing battery Guage reset its now 78.4%.

    Battery Report: Can anyone tell me how to check Laptop battery health ?-v1.png

    Regards.
    Last edited by jk22; 03 Aug 2022 at 07:47.
      My Computer


  2. Posts : 18,044
    Win 10 Pro 64-bit v1909 - Build 18363 Custom ISO Install
       #2

    Hello @jk22,

    jk22 said:
    I want to know how to check Laptop battery usage time as I see there is usage history and battery life estimates. Moreover, I want to know if my Laptop battery health is in good condition ?
    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 press Enter . . .


    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.
      My Computer


  3. Posts : 16,946
    Windows 10 Home x64 Version 22H2 Build 19045.4170
       #3

    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
      My Computer


  4. Posts : 68,921
    64-bit Windows 11 Pro for Workstations
       #4

    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
      My Computers


  5. Posts : 369
    Windows 10 21H1 Pro 64-bit
    Thread Starter
       #5

    Brink said:
    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%.
      My Computer


  6. Posts : 68,921
    64-bit Windows 11 Pro for Workstations
       #6

    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.

    Can anyone tell me how to check Laptop battery health ?-battery_capacity.png
      My Computers


  7. Posts : 369
    Windows 10 21H1 Pro 64-bit
    Thread Starter
       #7

    Brink said:
    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.

    Can anyone tell me how to check Laptop battery health ?-battery_capacity.png
    As you can see on 27-June-2022 it was 46,220 mWh where Battery Health was 88% and after doing battery Guage reset its now 78.4%.


    On battery guage reset why charge capacity lost I dont understand this till now.
      My Computer


  8. Posts : 68,921
    64-bit Windows 11 Pro for Workstations
       #8

    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.
      My Computers


  9. Posts : 369
    Windows 10 21H1 Pro 64-bit
    Thread Starter
       #9

    Brink said:
    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 ?
      My Computer


  10. Posts : 16,946
    Windows 10 Home x64 Version 22H2 Build 19045.4170
       #10

    jk22 said:
    On battery guage reset why charge capacity lost I dont understand this till now.
    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.

    jk22 said:
    So, I am thinking to keep my laptop with this battery.
    I agree with you. There's no persuasive argument for changing it.

    All the best,
    Denis
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 13:55.
Find Us




Windows 10 Forums