2017-07-02 122 views
0

CimClass(s​​)CIM_USB_DeviceCIM_USBHub之间的区别是什么?他们都发出相同的类型,似乎产生相同的一组对象?CIM_USBDevice,CIM_USBHub和Win32_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 
+0

'(Get-CimClass Win32_USBHub).CimSuperClass; (Get-CimClass Win32_USBHub).CimSuperClass.CimSuperClass' – PetSerAl

+0

@PetSerAl - 我不太清楚这有助于回答这个问题。 – lit

回答

0

对问题的回答可以从基本参考文献中获得(参见下面的链接)。另一个问题是微软对这些概念的实施。

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

类别CIM_USBHub延伸CIM_USBDevice(请参见本地类别属性GangSwitchedNumberOfPorts)。

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

+0

非常感谢您的好参考。这看起来像一个黑暗而曲折的通道。 – lit

-1

显然Win32_USBHub是一个传统的兼容类返回如果代码使用Get-WMIObject cmdlet可查询WMI,并CIM_USBHub是其直接的“新模式”超,与Get-CIMInstance使用。 CIM_USBDeviceCIM_USBHub的超类,如果有其他USB设备,如果在内部进行分类(如通过USB连接的未知设备),它将显示在CIM_USBDevice的查询中,但不会显示在CIM_USBHub中。