USBデバイスについて調べたくなることがある。簡単な方法としては、コントロールパネルのデバイスマネージャーがあるが、デバイスを探す場合は目視となるため、どうも面倒なことが多い。最近では、ラップトップやタブレットなどの内蔵デバイスもUSB接続になっていることがあり、マウスやキーボードのようにケーブルがつながっているものだけがUSBデバイスとして存在するわけでもない。
USBデバイスをコマンドラインで調べる
コマンドラインから簡単にUSBデバイスを調べるには、PowerShellのGet-CimInstanceコマンドが利用できる。このとき、以下の表のようなクラスを指定することで各種のUSB関連情報を得ることが可能だ。
まず、すべてのデバイスは、「Win32_PnPEntity」クラスで列挙できる。具体的には、
Get-CimInstance Win32_PnPEntity
とすればよい。ただし、これでは、多数のデバイスに対して大量の情報が出てしまうので、なにがなんだかわからない。こういう場合には、out-gridviewコマンドを使うと別ウィンドウに一覧として表示が可能だ。
Get-CimInstance Win32_PnPEntity | Out-GridView
「Out-GridView」は、別ウィンドウにオブジェクトの配列を表示するもの。ほとんどのコマンドに対してパイプ記号“|”に続けて「Out-GridView」と指定することで別ウィンドウに情報を表示できる。
次にUSBというキーワードを含むデバイスの名前(Caption)だけを表示させてみる。それには、
Get-CimInstance Win32_PnPEntity | Where-Object {$_ -like "*USB*"} | Select-Object Caption
とする。2つめの「Where-Object {$_ -like "*USB*"} 」は、USBという文字列を含むデバイスを探し、3つめの「Select-Object Caption」は、そのデバイス情報のうち「Caption」だけを表示させるものだ。オブジェクトに多数のプロパティがある場合、“Select-Object”で特定のプロパティだけを出力させることができる。前述のようにこの部分を“Out-GridView”に変えてもいい。
2つめのコマンドのダブルクオートの中を書き換えることで、他のキーワードで検索することも可能だ。たとえば、マウスやキーボードは、USBデバイスであっても「HID」(Human Interface Device)というキーワードが付く。このため、HIDデバイスだけを表示させたければ、
Get-CimInstance Win32_PnPEntity | Where-Object {$_ -like "*HID*"} | Select-Object Caption
とすればよい。なお、キーワードの前後のアスタリスクはワイルドカード文字だ。
今度は、特定のデバイスを探してみる。以下のコマンドは、キーボードデバイスを列挙するものだ。
Get-CimInstance Win32_PnPEntity | Where-Object {$_ -like "*Keyboard*"} | Select-Object Caption

この連載の記事
- 第382回 タブのウィンドウ間の移動も可能に! Windows Terminal v1.17/v1.18の新機能を見る
- 第381回 WindowsのPowerShellで画像ファイルのExif情報を扱う
- 第380回 Windowsにおける改行文字の扱い
- 第379回 Windows 11で利用頻度が高いプログラムを「簡単に起動」する方法
- 第378回 Windows 10で正式に導入され、11で改良が進んだ「仮想デスクトップ」
- 第377回 Windowsの「デスクトップ」や「ピクチャ」など、「既知のフォルダ(Known Folders)」を使う方法
- 第376回 COM(Component Object Model)は古い技術だが、いまだに現役 あらためて解説する
- 第375回 エクスプローラーのプレビューウィンドウについて解説する
- 第374回 Windows Insider ProgramにCanaryチャンネルが追加されたことで感じるWindows 12の気配
- 第373回 Windows Subsystem for Linuxでsystemdが動くようになったので試した
- 第372回 Windowsにおけるアプリ実行エイリアスとは?
- この連載の一覧へ