前提・実現したいこと
Powershell にて CustomObject を作成し、Add-Member にてプロパティ追加した際の値にも CustomProperty を指定します。
その際に、その Object のプロパティを表示しますと、@{<プロパティ>=<値>} というように表示されます。
プロパティ内のCustomObject の特定のプロパティの値のみを表示したいのですが、どのようにすればよいでしょうか。
表示したい形式は、例えば Get-Process を実行した際の Threads のような形式です。(Threads 内の個々の Object の "ID" のみが表示されている)
発生している問題・エラーメッセージ
以下のように表示されます。
Powershell
1$ChildOBJ = New-Object PSCustomObject 2$ChildOBJ | Add-Member -NotePropertyName "TestName1" -NotePropertyValue "TestStr1" 3$ChildOBJ | Add-Member -NotePropertyName "TestName2" -NotePropertyValue "TestStr2" 4 5$CusOBJ = New-Object PSCustomObject 6$CusOBJ | Add-Member -NotePropertyName "ChildOBJ" -NotePropertyValue $ChildOBJ 7 8$CusObj | fl 9ChildOBJ : @{TestName1=TestStr1; TestName2=TestStr2} 10
試したこと
Get-Process の Threads は以下のように ID 属性のみが表示されます。
Powershell
1Get-Process | select -First 1 | fl Threads 2 3Threads : {2924, 3312, 3356, 3360...}
補足情報(FW/ツールのバージョンなど)
Powershell Ver 5.0 です
追記
最終目的の例としては例えば以下のように配列などでオブジェクトを構成した場合
powershell
1$ChildOBJ1 = New-Object PSCustomObject 2$ChildOBJ1 | Add-Member -NotePropertyName "Name" -NotePropertyValue "佐藤" 3$ChildOBJ1 | Add-Member -NotePropertyName "Location" -NotePropertyValue "TOKYO" 4 5$ChildOBJ2 = New-Object PSCustomObject 6$ChildOBJ2 | Add-Member -NotePropertyName "Name" -NotePropertyValue "鈴木" 7$ChildOBJ2 | Add-Member -NotePropertyName "Location" -NotePropertyValue "OSAKA" 8 9$Array = New-Object System.Collections.Arraylist 10$Array.add($ChildOBJ1) 11$Array.add($ChildOBJ2) 12 13$CustomOBJ = New-Object PSCustomObject 14$CustomOBJ | Add-Member -NotePropertyName "Person" -NotePropertyValue $Array 15$CustomOBJ | Add-Member -NotePropertyName "Group" -NotePropertyValue "本社" 16
以下のように表示されてほしいです
powershell
1$CustomOBJ | FL 2 3Person : {佐藤, 鈴木} 4Group : 本社

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。