CIM_USBDevice,CIM_USBHub和Win32_USBHub有什么区别?

时间:2017-07-02 19:33:33

标签: powershell wmi cim

CimClass(es)CIM_USB_DeviceCIM_USBHub之间有什么区别?它们都发出相同的类型并且看起来产生相同的对象集合?

PS C:\src\t> Get-CimInstance CIM_USBDevice | % { $_.Name }
USB Root Hub (USB 3.0)
Generic USB Hub
USB Composite Device
Genesys Logic USB2.0 Card Reader
USB Composite Device
USB Root Hub
Generic USB Hub
USB Root Hub
PS C:\src\t> Get-CimInstance CIM_USBHub | % { $_.Name }
USB Root Hub (USB 3.0)
Generic USB Hub
USB Composite Device
Genesys Logic USB2.0 Card Reader
USB Composite Device
USB Root Hub
Generic USB Hub
USB Root Hub
PS C:\src\t> Get-CimInstance Win32_USBHub | % { $_.Name }
USB Root Hub (USB 3.0)
Generic USB Hub
USB Composite Device
Genesys Logic USB2.0 Card Reader
USB Composite Device
USB Root Hub
Generic USB Hub
USB Root Hub
PS C:\src\t> Get-CimInstance CIM_USBDevice | gm

   TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_USBHub

PS C:\src\t> Get-CimInstance CIM_USBHub | gm

   TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_USBHub

PS C:\src\t> Get-CimInstance Win32_USBHub | gm

   TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_USBHub

2 个答案:

答案 0 :(得分:0)

可以从基本参考中找出问题的答案(参见下面的链接)。另一个问题是微软对这些概念的实现。

班级CIM_USBDevice延伸CIM_LogicalDevice;有一个直接已知的子类:CIM_USBHub

班级CIM_USBHub扩展CIM_USBDevice(请参阅本地班级属性GangSwitchedNumberOfPorts)。

Win32_USBHub class属于Win32架构,即 CIM schema的Microsoft扩展,其中包含用于表示典型Windows环境中存在的托管对象的类和实例的定义。另请参阅extension schema:CIM架构的第三层,其中包括特定于平台的CIM架构扩展,如Windows,UNIX和Exchange Server。另请参阅common model和核心模型。

答案 1 :(得分:-1)

显然,Win32_USBHub是遗留兼容性类,如果代码使用Get-WMIObject cmdlet查询WMI,则CIM_USBHub是其直接"新模型"超类,与Get-CIMInstance一起使用。 CIM_USBDeviceCIM_USBHub的超类,如果在内部进行分类,任何其他USB设备都不是USB集线器,如通过USB连接的未知设备,它将显示在查询中CIM_USBDevice但不在CIM_USBHub