2017-08-02 6 views
0

私は、ホストコンピュータに接続されているUSBデバイスのリストを返すために、次のPowerShellスクリプトを使用しています:このPowerShellスクリプトが返す結果をフィルタするにはどうすればよいですか?

gwmi Win32_USBControllerDevice |%{[wmi]($_.Dependent)} | Sort Manufacturer,Description,DeviceID |Ft -GroupBy Manufacturer Description,Service,DeviceID 

私が説明に基づいて結果をフィルタリングしたいと思います。たとえば、LIKE 'HASP%'の説明のみを返したいとします。

これを達成する正しい構文は何ですか?

答えて

3

-like演算子と*をワイルドカードとして使用して、Where-Objectコマンドレットを使用できます。

Get-WMIObject Win32_USBControllerDevice | 
    ForEach-Object {[wmi]($_.Dependent)} | 
    Where-Object {$_.Description -like 'HASP*'} | 
    Sort-Object Manufacturer,Description,DeviceID | 
    Format-Table -GroupBy Manufacturer Description,Service,DeviceID 

?whereがビルトインされていることをWhere-Objectコマンドレットのエイリアス、あなたがあなたの質問に他の別名を使用しているので、注意してください。

関連する問題