为什么Get-CimInstance CIM_LogicalDisk返回两种类型?

时间:2018-07-12 18:09:23

标签: powershell powershell-core

为什么Get-CimInstance CIM_LogicalDisk同时返回Win32_LogicalDiskWin32_MappedLogicalDisk

没有Win32_MappedLogical磁盘CIM类,但是没有Cim_MappedLogicalDisk`类。应该有吗?

在pwsh 6中似乎也没有一个。在Linux上的pwsh 6中没有CIM cmdlet。 CIM是仅Microsoft的产品吗?我以为没有。

C:>$Provider = Get-CimInstance CIM_LogicalDisk | Where-Object { $_.Name -eq 'W:' }

C:>$Provider.Count
2

1 个答案:

答案 0 :(得分:0)

CIM_LogicalDisk返回本地和映射的逻辑磁盘对象。您可以像这样在Win32_LogicalDiskCIM_LogicalDisk类型上进行匹配:

$Provider = Get-CimInstance CIM_LogicalDisk | Where-Object {
  $_.Name -eq 'W:' -And $_.CimClass.CimClassName -match '^(CIM|Win32)_LogicalDisk$'
}

这应从Win32_MappedLogicalDisk中省略$Provider对象。

对于您关于Linux上Posh上没有CIM cmdlet的问题,this Powershell Github issue from April指出:“没有计划将CIM cmdlet移植到非Windows。”