![見出し画像](https://assets.st-note.com/production/uploads/images/115427534/rectangle_large_type_2_2e86d291a3f101eb4b69f8479d9f8044.png?width=1200)
Windowsノートパソコンのバッテリー寿命を調べる 【PowerShell】
Windowsノートパソコンのバッテリー寿命ってどのくらいだと思いますか?
だいたい3年くらいだと聞いたことがあります。
毎日使用していた場合、3年くらいでバッテリーの持ちが悪くなってきて、最初の性能の半分になるらしいです。
感覚的にそんなもんだと思います。
私は会社の情シス部門で働いていますが、
これらを感覚でなくて数字で表現したいと思いました。
数字で表現した方が稟議が通りやすくなるからです。
そして下のコマンドを発見
POWERCFG /BATTERYREPORT
これをPowerShellで実行するとbattery-report.htmlが出てきます。
![](https://assets.st-note.com/img/1693574052987-qZJTlHM3Hn.png?width=1200)
battery-report.htmlを開いてみると
![](https://assets.st-note.com/img/1693574083557-plctAoXpak.png?width=1200)
この中の「DESIGN CAPACITY」が元々の性能で
「FULL CHARGE CAPACITY」が今の性能になります。
つまりこれらを割り算すれば、元の性能の何パーセントかわかるわけです。
スクリプトにしました。
$BatteryCapacityRatio="わからん"
$tmp=POWERCFG /BATTERYREPORT /OUTPUT "batteryreport.xml" /XML
$tmp = $tmp -replace "バッテリ寿命レポートがファイル パス",""
$tmp = $tmp -replace "に保存されました。",""
$tmp = $tmp -replace " ",""
IF(Test-Path $tmp){
$xml = [xml](Get-Content $tmp)
$BatteryCapacityRatio =$xml.BatteryReport.Batteries.Battery.FullChargeCapacity /$xml.BatteryReport.Batteries.Battery.DesignCapacity * 100
$BatteryCapacityRatio = [String]([Math]::Round($BatteryCapacityRatio,2))+ "%"
Remove-Item -Path $tmp
}
write-host $BatteryCapacityRatio
このままPowerShellに貼り付けて実行したら何%か分かります。
![](https://assets.st-note.com/img/1693574181303-Mt0vp4sesP.png?width=1200)
家のパソコンは新品だったので100%と出ます。
私が会社で使っているパソコンは70%でした。
これをPS1ファイルにして
全社員に実行してもらって寿命が短いものは交換するなんてのもいいかもしれません。
私が書いた別の記事を参考にタスク化して調べるのもあり。
後日、タスク化して自動収集する記事も書きたいと思います。
#PowerShell #Windows #プログラミング学習 #自動化 #ノートPC #IT資産管理 #情シス