我在powershell中有这个脚本来列出计算机上的USB设备:
Get-WmiObject Win32_USBControllerDevice | Foreach-Object { [Wmi]$_.Dependent }
这是输出的一部分:
__GENUS : 2
__CLASS : Win32_PnPEntity
__SUPERCLASS : CIM_LogicalDevice
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_PnPEntity.DeviceID="USB\\VID_0424&PID_5534\\5&38E06FA4&0&14"
__PROPERTY_COUNT : 24
__DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : OTLB674G
__NAMESPACE : root\cimv2
__PATH : \\OTLB674G\root\cimv2:Win32_PnPEntity.DeviceID="USB\\VID_0424&PID_5534\\5&38E06FA4&0&14"
Availability :
Caption : Rozbočovač USB 3.0
ClassGuid : {36fc9e60-c465-11cf-8056-444553540000}
CompatibleID : {IUSB3\Class_09&SubClass_00&Prot_03, IUSB3\Class_09&SubClass_00, IUSB3\Class_09}
ConfigManagerErrorCode : 0
ConfigManagerUserConfig : False
CreationClassName : Win32_PnPEntity
Description : Rozbočovač USB 3.0
DeviceID : USB\VID_0424&PID_5534\5&38E06FA4&0&14
ErrorCleared :
ErrorDescription :
HardwareID : {USB\VID_0424&PID_5534&REV_6082}
InstallDate :
LastErrorCode :
Manufacturer : Intel(R) Corporation
Name : Rozbočovač USB 3.0
PNPDeviceID : USB\VID_0424&PID_5534\5&38E06FA4&0&14 PowerManagementCapabilities :
PowerManagementSupported :
Service : iusb3hub
Status : OK
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
SystemName : OTLB674G
PSComputerName : OTLB674G
我知道如何显示仅针对Get-service运行服务的过滤器,但我无法弄清楚如何仅过滤行 - 描述,服务和SystemName将显示在输出中。
我会感激任何帮助。
提前致谢, 约瑟夫
答案 0 :(得分:2)
只需将输出传递给Select-Object cmdlet并指定要选择的属性:
Get-WmiObject Win32_USBControllerDevice | Foreach-Object {
[Wmi]$_.Dependent | Select-Object Description, Service, SystemName
}