kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

COMポートを列挙する

会社で「どのデバイスがどのCOMポートを使っているか調べる方法ない?」という質問があったので、PowerShell+WMIでできるよ!とワンライナーで書いてみました。

PS>Get-WmiObject -Class Win32_SerialPort | Format-List Caption,ProviderType

これではUSBシリアルとWINモデムが見えない〜というコメント。うーむ、伝統的なシリアルポートじゃないとWin32_SerialPortクラスは使えないのか。ということで、こんなコード。手元には複数のCOMポートがあるマシンがないので、確認できてないのですが..。

PS>Get-WmiObject -Class Win32_PnPSignedDriver -Filter "FriendlyName LIKE '%COM%'" | Select-Object -Property FriendlyName;

実際はFriendlyNameだけじゃなくて、HardWareIDをWin32_PnPDeviceやWin32_PnPEntryとつきあわせてみればいいのだろうけれど、まだワンライナーPowerShellスクリプトしか書けない私には無理orz。