トップ回答者
PowerShellを利用し、バッテリ関連の情報を取得する方法

質問
-
現在、ツール作成を行なっており、使用端末のバッテリ情報をコマンド取得する方法を探しています。
CMDを利用しpowercfg /batteryreport や powercfg /energy /export などで確認することができる事は
認識しておりますが、個々の項目ごとに情報を取得したいと考えています。
現状、PowerShell で『 get-wmiobject win32_battery |select-object XXXX』 を使用することで
バッテリ情報を取得できる事は確認しましたが、『Full CHARGE CAPACITY』や『CYCLE CPUNT』の
値が” ”となって取得できません。
該当端末でCMDのバッテリレポートを使用すると『Full CHARGE CAPACITY』については表示されていることから
別項目等で取得できるかもしれませんが、方法がわからず困っております。
また、『CYCLE CPUNT』については、各P Cベンダーのバッテリツールで表示できていることから
こちらも取得できるのではと考えております。
どなたか取得方法をご存知であれば、教えていただけると幸いです。
検証は、本日家電量販店さんに訪問し、許可を得た上で以下の装置で検証させて頂きました。
・VAIO VJS112
・Panasonic CFZ6-3L
・LG 15Z980-GR55J
→LG製PCのみ、バッテリレポートでカウント数が確認できました。
・HP ENVY x360 15ーcn0xxx
・NEC PC-HZ550LAL-YC
・TOSHIBA V82/FL
・Fujitsu UH-X/C3
- 移動 栗下 望Microsoft employee, Moderator 2018年11月20日 0:22 Windows 10 IT Pro > Windows 10
回答
-
root\wmi 名前空間にバッテリーに関するいくつかのクラスがあります。
Get-WmiObject -Namespace root\wmi -List *battery*
私の環境で FULL CHARGE CAPACITY と CYCLE COUNT は以下で取れました。
Get-WmiObject -Namespace root\wmi BatteryFullChargedCapacity Get-WmiObject -Namespace root\wmi BatteryCycleCount
- 回答の候補に設定 チャブーンMVP 2018年11月19日 8:12
- 回答としてマーク hornet1119 2019年6月25日 14:15
-
そういう事であれば、独自のソフトウェアやドライバから管理用チップの情報を読み取っている等の独自実装だと思います。
ベンダーによっては独自のWMI名前空間を持っていますので、そこにバッテリー関連のインターフェースがある場合は情報取得できるかもしれません。その他はソフトウェアの実装次第だと思います。
- 回答としてマーク hornet1119 2019年6月25日 14:15
すべての返信
-
root\wmi 名前空間にバッテリーに関するいくつかのクラスがあります。
Get-WmiObject -Namespace root\wmi -List *battery*
私の環境で FULL CHARGE CAPACITY と CYCLE COUNT は以下で取れました。
Get-WmiObject -Namespace root\wmi BatteryFullChargedCapacity Get-WmiObject -Namespace root\wmi BatteryCycleCount
- 回答の候補に設定 チャブーンMVP 2018年11月19日 8:12
- 回答としてマーク hornet1119 2019年6月25日 14:15
-
コメントありがとうございます。
FULL CHARGE CAPACITYについては、コメント頂いたコマンドを参考にさせて頂き無事取得できました。とても参考になりました。
しかし、CYCLE COUNT については ”0” と表示されてしまいました。
量販店さんで確認させていただいたんですが、CMDのバッテリレポートで CYCLE COUNT が0の装置は、教えていただいたコマンドでも、0が返ってくるようです。※有一、LG製PCのみ数値が帰ってきました。
各社のPCにプレインストールされているバッテリ管理ソフトを参照すると、カウント値が表示されていることから何処かしらにデータを持っていると推測しています。
引き続き、何かお分かりになれば、教えていただけると助かります。
-
そういう事であれば、独自のソフトウェアやドライバから管理用チップの情報を読み取っている等の独自実装だと思います。
ベンダーによっては独自のWMI名前空間を持っていますので、そこにバッテリー関連のインターフェースがある場合は情報取得できるかもしれません。その他はソフトウェアの実装次第だと思います。
- 回答としてマーク hornet1119 2019年6月25日 14:15