Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/var/www/clients/client0/web58/web:/var/www/clients/client0/web58/private:/var/www/clients/client0/web58/tmp:/var/www/testwiki.znil.net/web:/srv/www/testwiki.znil.net/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom;/gitinfo) in /var/www/clients/client0/web58/web/includes/shell/CommandFactory.php on line 119

Deprecated: Use of MediaWiki\Parser\ParserOutput::addJsConfigVars was deprecated in MediaWiki 1.38. [Called from DisplayComments::getParserHandler in /var/www/clients/client0/web58/web/extensions/Comments/includes/parser/DisplayComments.php at line 29] in /var/www/clients/client0/web58/web/includes/debug/MWDebug.php on line 385
PowerShell Batteriestand von Bluetooth oder PnP Geräten abfragen – testznilwiki
 Aktionen

PowerShell Batteriestand von Bluetooth oder PnP Geräten abfragen

Aus testznilwiki

Changelog:

  • 17.10.2023 erste Version

Vorwort

Eigentlich wollte ich irgendwie den aktuellen Batteriestand meiner Logitech-Maus MX Master 3 abfragen. Das ist mir bei der Erstellung des Artikels noch nicht gelungen. Aber ich hatte ein Fundstück im Internet was mir speichern wollte.


PnP Geräte nach Batterie scannen

Das folgende Skript stammt von hier: https://stackoverflow.com/questions/71736070/how-to-get-bluetooth-device-battery-percentage-using-powershell-on-windows
Es spuckt gleich den fertigen Befehl aus mit dem man die Stand gezielt abfragen kann:
Ich habe es nur auf den '*' geändert und den Gerätenamen in "..." gepackt:

Get-PnpDevice -FriendlyName "*" | ForEach-Object {
    $local:test = $_ |
    Get-PnpDeviceProperty -KeyName '{104EA319-6EE2-4701-BD47-8DDBF425BBE5} 2' |
        Where Type -ne Empty;
    if ($test) {
        "To query battery for `"$($_.FriendlyName)`", run the following:"
        "    Get-PnpDeviceProperty -InstanceId '$($test.InstanceId)' -KeyName '{104EA319-6EE2-4701-BD47-8DDBF425BBE5} 2' | % Data"
        ""
        "The result will look like this:";
        Get-PnpDeviceProperty -InstanceId $($test.InstanceId) -KeyName '{104EA319-6EE2-4701-BD47-8DDBF425BBE5} 2' | % Data
    }
}

Das Ausführen kann eine Weile dauern, aber das macht man ja nicht so oft.
Beispielausgabe - bei mir wurden meine In-Ear-Kopfhörer und mein Handy gefunden:

To query battery for "Bose QC Ultra Earbuds Hands-Free AG", run the following:
    Get-PnpDeviceProperty -InstanceId 'BTHENUM\{0000111E-0000-1000-8000-00805F9B34FB}_VID&0001009E_PID&4072\A&24C9D853&0&ACBF71B71C58_C00000000' -KeyName '{104EA319-6EE2-4701-BD47-8DDBF425BBE5} 2' | % Data

The result will look like this:
60
To query battery for "BLinzA9 Hands-Free HF", run the following:
    Get-PnpDeviceProperty -InstanceId 'BTHENUM\{0000111F-0000-1000-8000-00805F9B34FB}_VID&00010075_PID&0100\A&24C9D853&0&00B5D006B76E_C00000000' -KeyName '{104EA319-6EE2-4701-BD47-8DDBF425BBE5} 2' | % Data

The result will look like this:
80

Der fertige Befehl steht da nun und der Wert der ausgespuckt würde.


Kommentare

Loading comments...