如何过滤此PowerShell脚本返回的结果?

时间:2017-08-02 16:15:58

标签: powershell

我使用以下PowerShell脚本将连接的USB设备列表返回给主机:

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

我想根据描述过滤结果。例如,我想只返回类似'HASP%'的描述。

完成此任务的正确语法是什么?

1 个答案:

答案 0 :(得分:3)

您可以将Where-Object cmdlet与-like运算符一起使用*作为通配符。

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

另请注意,?whereWhere-Object cmdlet的内置别名,因为您在问题中使用了其他别名。