链中不同对象的PowerShell Format-List



如何在管道链中从父对象输出属性?

例如:

get-vm | get-vmdisk | forEach {Get-VHDInfo $_。DiskPath} |选择-Property Path, ParentPath, VM。VMElementName

基本上就是VM。我想知道的VMElementName(我编了那个语法)。它不是直接对象(从get- vhdinfo),而是祖父(从get-vm),我想获得一个值。

您无法以您想要的方式从上游cmdlet获取值。您可以在调用get-vm后立即使用foreach-object并将值保存在一个变量中,然后将其作为新的计算属性分配给select-object。

get-vm | foreach-object{    
    $VMElementName = $_.VMElementName   
    get-vmdisk | forEach {Get-VHDInfo $_.DiskPath} | Select Path,ParentPath,@{Name='VMElementName';Expression={$VMElementName}}
} 

最新更新