2011-07-12 6 views
2

パイプされたチェーンの親オブジェクトからプロパティを出力するにはどうすればよいですか?PowerShell Format - チェーン内のさまざまなオブジェクトのリスト

例:

get-vm | get-vmdisk | forEach {Get-VHDInfo $ _。DiskPath} | -Property Path、ParentPath、VM.VMElementNameを選択してください。

基本的には私が思っているVM.VMElementNameです(その構文を構成しました)。これは直接のオブジェクト(Get-VHDInfoに由来する)ではなく、私が価値を得たい祖父母(get-vmから)です。

答えて

5

アップストリームコマンドレットから値を取得することはできません。 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}} 
} 
+0

パーフェクト、それはまさに私が必要としていたものです! get-vmdiskがget-vmの結果にバインドされていないというわずかな問題があったので、3行目では$ _ |で開始しました。そしてそのトリックをしました。 –

関連する問題