このページの本文へ

前へ 1 2 次へ

Windows Info 第318回

WindowsのコマンドラインからUSBデバイスについて調べる方法

2022年03月13日 10時00分更新

文● 塩田紳二 編集● ASCII

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

USBデバイスを追加して、その違いを確認する

 今度は、USBデバイスを追加してどうなるかを調べてみる。ここではUSBメモリ(USBマスストレージデバイス)の装着前と装着後の違いを調べる。

$x=Get-CimInstance Win32_PnPEntity

(USBメモリを装着)

$y=Get-CimInstance Win32_PnPEntity
Compare-Object $x $y

と、実行したものが、以下の画面だ。

USBメモリを装着する前と後の状態を変数$xと$yに記録し、Compare-Objectコマンドで2つの差分を表示させると、追加されたデバイスを調べることが可能になる

 コマンド先頭の「$x=」と「$y=」では、それぞれのコマンドの出力をPowerShellの変数に記録している。つまり、$xという変数には、USBメモリを装着する前のデバイスのリストが登録され、$yには、USBメモリを装着したあとのデバイスのリストが登録される。Compare-Objectは、2つの変数$xと$yの差分を表示する。

 USBメモリを装着すると4つの論理的なデバイスが追加される。1つは、USBマスストレージデバイス、もう1つはその中にあるボリューム(ファイルシステム)、そしてWPD(Windows Portable Device。USBマスストレージデバイスは、WPDとしても扱えるようになっている)、そしてディスクデバイスだ。表示される4つのデバイスのうち、4つめのディスクデバイスに関する情報を表示させてみるには配列のインデックス指定を使う。

(Compare-Object $x $y)[3].InputObject

とする。PowerShellの配列は0から始まるので、4つめの項目を取り出すには「[3]」と指定する必要がある。

追加されたデバイスのうち4番目(インデックス指定としては3)のものを表示させてみる。Descriptionには「Disk Drive」と表示されるが、これは、WindowsがUSBメモリを認識して、ディスクドライブとしてアクセスするためのデバイスを追加したもの

USBコントローラーについての情報を得る

 最近のマシンでは、複数のUSBコントローラーを持っていることがある。システムで利用できるUSBコントローラーは、以下のコマンドで列挙できる。

Get-CimInstance Win32_USBController | Select-Object caption

 最初のコントローラーについての情報をすべて表示させるには、同様に配列のインデックス指定を使う。

(Get-CimInstance Win32_USBController)[0]

UBSコントローラーを列挙し、そのうち最初のもの(インデックスは0)の情報を表示させてみる

 ここで解説した方法を使えば、Windowsのデバイスをキーワードで検索したり、追加・削除されたデバイスを探すことができる。パソコンを使っているとき、何もしていないのにデバイスを追加、削除した音が聞こえることはないだろうか? たとえば、USBハブの電力が不安定な場合、こうした現象が発生することがある。こんなとき、装着/着脱音の前後でデバイスのリストを記録しておき、差分を取れば、変化のあったデバイスを見つけることが可能だ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

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