このページの本文へ

Windows Info 第465回

WindowsのPowerShellからBluetoothデバイスを調べる

2025年01月19日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

Bluetoothに関連する情報をPowerShellで扱う

 今回は、Bluetoothに関連する情報をPowerShellで扱う方法を考える。GUIでは「設定」→「Bluetoothとデバイス」→「デバイス」とすることで、接続されているデバイスを一覧表示できる。

Bluetooth

ペアリングしたBluetoothデバイスは、「設定」→「Bluetoothとデバイス」→「デバイス」に表示されるが、ここではデバイス名以外の情報はほとんど表示されない

 コマンドラインからは、以下のコマンドでページを開くことがてきる。

bthprops.cpl
start ms-settings:connecteddevices

 「bthprops.cpl」は、コントロールパネルのアイコンに対応するプログラムで、「C:\Windows\System32」にある。もう1つは、設定アプリのURI起動である。

 「設定」→「Bluetoothとデバイス」→「デバイス」では、注意して見ないと、Bluetoothデバイスかどうかを判別できない。デバイス名の下に「ペアリング済み」と表示されているのがBluetoothデバイスである。

 深い知識を持たない一般ユーザーに、BluetoothデバイスとUSBデバイスを区別する作業は不要、というスタンスがここからは感じられる。Windows 8以降、コントロールパネルと設定が分離してから、Windowsには、このように詳細を伏せるところが見られるようになった。

 こうしたことに興味がないユーザーには良いのだろうが、情報を必要とするユーザーは、大量の情報が表示される「デバイスマネージャー」やコマンドラインなどを使わざるを得なくなる。

 さて、Bluetoothは通信方式なのだが、Windowsの中では、「デバイス」としての静的な情報と、通信/プロトコルとしての動的な情報がある。前者は、どんなデバイスが登録(ペアリング)されているのか、といったWindowsのデバイスシステムの中の情報である。後者については、APIを使い、プロトコルに応じた動き、たとえば、Bluetoothのアドバタイズを受信するといった処理となる。

 後者については、プログラミングが関わるため、別の機会に解説することにしたい。

PnPデバイスからBluetooth関連のデバイスを取り出す

 PowerShellで、デバイス情報を扱うには「Get-PnpDevice」コマンドを使うのが定石である。Windowsが認識しているすべてのデバイスは、PnpDeviceとして登録されている。

 ただし、大量のデバイスがあるため、Where-Object(エイリアスは「?」)を使って、目的のものだけを取り出すことを考える。これが、PowerShellでのデバイス情報処理の基本である。

 Bluetoothデバイスのクラス(Class)は「Bluetooth」だが、出力させてみると、Bluetooth関連のサービスなども列挙される。物理的なBluetoothデバイスを探したければ、以下のコマンドを使う。

Get-PnpDevice | ? Class -eq "Bluetooth" | ? CompatibleID -like "*GENERIC*DEVICE*"

Bluetooth

Get-PnpDeviceの出力をWhere-Object(エイリアスは「?」)で、フィルタすることで必要なデバイスのみを取り出すことができる。なお、出力を成形するためft(Format-Tableコマンドのエイリアス)を使っている

 このとき「CompatibleID」が「{BTHENUM\GENERIC_DEVICE}」となっているものはClassic Bluetoothデバイス(Bluetooth BR/EDR)で、「{BTHLE\GenericDevice}」になっているものが、Bluetooth LE(Low Energy)デバイスだ。1つのデバイスが同時に両方の特性を持っていることもあるので注意してほしい(Nameなどが同一)。

 実行環境によっては、InstanceIDの後半が省略されて、すべて表示されないことがある。そのような場合には、

Get-PnpDevice | ? Class -eq "Bluetooth" | ? CompatibleID -like "*GENERIC*DEVICE*" | ft -AutoSize

とする。

 列挙したBluetoothデバイスのプロパティにある「InstanceID」を使うことで、PnpDeviceのプロパティを入手できる。それには、

Get-PnpDeviceProperty -InstanceId <InstanceID>

とする。

Bluetooth

Get-PnpDevicePropertyを使うことで、デバイスに関する静的な情報が得られる

 大量の情報が出力されるが、重要なものとして「DEVPKEY_DeviceContainer_Category」「DEVPKEY_Device_HardwareIds」がある。前者はデバイスのカテゴリ、後者にはBluetoothデバイスのMACアドレスが含まれている。

 なお、Get-PnpDevicePropertynの出力する情報は、レジストリの「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\BTHENUM」(Bluetooth Classicデバイス)、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\BTHLE」(Bluetooth LEデバイス)にあるものと一部共通している。

PnpDevicePropertyを比較する

 Get-PnpDevicePropertyで、デバイス情報をオブジェクトとして撮り出せるため、これを変数に記録し、Compare-Objectコマンド(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/compare-object?view=powershell-7.4)で比較することで、その変化を調べられる。具体的には、以下の手順を使う。

$S1=Get-PnpDeviceProperty -InstanceId <InstanceID>
#デバイスを切断するなど、デバイスの状態を変える操作をする
$S2=Get-PnpDeviceProperty -InstanceId <InstanceID>
Compare-Object $S1 $S2 -Property KeyName,Data

Bluetooth

Bluetoothデバイスの切断時、接続時でGet-PnpDevicePropertyを変数に記録すれば、Compare-Objectコマンドでその差分を求めることができる

 Compare-Objectは、2つのオブジェクトを比較し違いを表示するコマンド。複数のプロパティを持つオブジェクトの場合、比較対象とするプロパティを指定する必要がある。ここでは、PnpDevicePropertyのKeyNameとDataプロパティを指定した。

 Classic Bluetoothデバイスを接続すると、PnpDeviceProperty「{83DA6326-97A6-4088-9453-A1923F573B29} 15」がFalseとなり、接続した時間(UTC)が「DEVPKEY_Bluetooth_LastConnectedTime」に記録されることがわかる。

 PnpDevicePropertyを状態変化の前後で変数に記録して比較することで、プロパティの変化を調べることもできる。今回は、Bluetoothを例に解説したが、基本的な考えは、PnpDevice全般に適用可能だ。

カテゴリートップへ

この連載の記事
1
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
2
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979
3
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
¥134,377
4
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥39,800
5
Apple 2025 MacBook Pro 10 コアCPU、10 コアGPU のM5 チップ搭載ノートパソコン:Apple Intelligence のために設計、14.2 インチLiquid Retina XDR ディスプレイ、24GB ユニファイドメモリ、1TBのSSD ストレージ - スペースブラック
Apple 2025 MacBook Pro 10 コアCPU、10 コアGPU のM5 チップ搭載ノートパソコン:Apple Intelligence のために設計、14.2 インチLiquid Retina XDR ディスプレイ、24GB ユニファイドメモリ、1TBのSSD ストレージ - スペースブラック
¥296,323

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥699
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
¥880

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン