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

この連載の記事
-
第489回
PC
大きく分けて3種類あるWindowsのライセンス形態 -
第488回
PC
Windowsのサウンド設定をコマンドラインで調べる -
第487回
PC
気づけば随分数が増えているWindowsのファイル属性 -
第486回
PC
Excelがあればなんでもできる -
第485回
PC
Windows Subsystem for Linux(WSL)のソースコードが公開された -
第484回
PC
WindowsのコマンドラインでGrapheme Clusterを正しく扱うには -
第483回
PC
Microsoftが作るコンソールエディタがこの時代に復活 -
第482回
PC
WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場 -
第481回
PC
Windows 11にそろそろ聞こえる25H2の声 -
第480回
PC
PowerShellが使う色を変更する -
第479回
PC
Copilot+ PCで利用できる「Windows Copilot Runtime」を試す ローカル推論用モデル「Phi Silica」とは? - この連載の一覧へ