CimClass(es) CIM_USB_Device和CIM_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发布于 2017-07-03 10:47:32
问题的答案可以从基本参考(见下面的链接)中得出。另一个问题是这些概念的Microsoft实现。
类CIM_USBDevice扩展了CIM_LogicalDevice;有一个直接已知的子类:CIM_USBHub。
类CIM_USBHub扩展了CIM_USBDevice (参见本地类属性GangSwitched和NumberOfPorts)。
班级属于Win32模式,即微软对https://www.dmtf.org/standards/cim的扩展,该扩展包含类和实例的定义,用于表示存在于典型Win32环境中的托管对象。还请参阅https://msdn.microsoft.com/en-us/library/aa390797(v=vs.85).aspx#wmi.gloss_extension_schema):CIM模式的第三层,它包括特定于平台的CIM模式扩展,如Windows、UNIX和Exchange。还请参阅公共模型和核心模型。
发布于 2017-07-03 09:29:43
显然,Win32_USBHub是一个遗留兼容性类,如果代码使用Get-WMIObject cmdlet查询WMI,那么CIM_USBHub是它的直接“新模型”超类,将与Get-CIMInstance一起使用。CIM_USBDevice是CIM_USBHub的超类,如果有任何其他不属于USB的设备被内部分类,就像通过USB连接的未知设备一样,它将出现在CIM_USBDevice的查询中,而不是CIM_USBHub中。
https://stackoverflow.com/questions/44874487
复制相似问题