В Windows 10 (среди других версий), работающей на устройстве с батареей, я могу использовать powercfg /batteryreport
для получения "Емкость дизайна" и "Емкость последней полной зарядки" для батареи, которые дают представление об оставшемся полезном сроке службы батареи и насколько ее емкость ухудшилась от использования.
C:\Users\superuser\AppData\Local\Temp>powercfg /batteryreport
Battery life report saved to C:\Users\superuser\AppData\Local\Temp\battery-report.html
HTML-отчет генерируется мгновенно и отображает, помимо прочего, интересующую меня статистику:
Кроме того, я могу загрузить встроенную диагностическую среду этого ноутбука, и она отображает похожие цифры и количество циклов разрядки батареи.
Откуда эти значения получены? Я хотел бы иметь возможность отслеживать эти данные о времени автономной работы для парка ноутбуков, предпочтительно по сценарию Powershell. Казалось вероятным , что эти данные должны быть в WMI, и конечно же , есть класс Win32_Battery , имеющий DesignCapacity
и FullChargeCapacity
поле, но и на все системы я испытал, они не определены:
PS C:\Users\superuser> Get-WmiObject -Class Win32_Battery | Select-Object -Property *Capacity | Format-List
DesignCapacity :
FullChargeCapacity :
Должен быть какой-то программный способ доступа к этой информации, потому что powercfg
делает это. Если для этого есть какой-нибудь способ WMI, .NET или Powershell, я бы хотел узнать об этом. Я мог бы сгенерировать отчет powercfg
и затем проанализировать его, но я действительно не хочу внедрять уродливый обходной путь, когда, скорее всего, существует "правильный" способ сделать это, который просто ускользает от меня.