如何提取PowerShell SCOM类实例查询结果的首个Values数值条目?
要提取查询结果中Values属性的首个数值,直接通过属性展开+索引定位即可,两种常用实现方式如下:
单行命令直接提取
如果仅需即时获取该数值,直接执行:
(Get-SCClass -Name Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk | Get-SCOMClassInstance | Select-Object -ExpandProperty Values)[0]
-ExpandProperty参数会把Values属性从对象中展开为原始的集合类型,末尾加[0]即可直接取集合的第一个元素,返回结果就是你需要的数值137739444224。
存入变量供后续操作
如果需要多次使用该数值,建议先把查询结果赋值给变量:
# 获取目标SCOM类实例 $win10DiskInstance = Get-SCClass -Name Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk | Get-SCOMClassInstance # 提取首个数值存入变量 $firstValue = $win10DiskInstance.Values[0]
后续操作直接调用$firstValue即可,不需要重复执行SCOM查询。
多实例批量提取适配
如果查询返回多个类实例,可通过循环批量提取每个实例的Values首项:
$allDiskInstances = Get-SCClass -Name Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk | Get-SCOMClassInstance foreach ($disk in $allDiskInstances) { $currentFirstVal = $disk.Values[0] # 此处填写你需要的后续处理逻辑 }
内容的提问来源于stack exchange,提问作者JoWe
相关产品推荐
相关产品推荐

