質問編集履歴

1 ソースコードの 区分け

kamikazelight

kamikazelight score 273

2018/11/22 13:14  投稿

配列のPsCostomObjectにプロパティを追加した際に 出力ビューが変わらないようにしたい
### 前提・実現したいこと
配列のPsCostomObjectに `select -property`を使って
プロパティーを追加したのですがコンソールに出力したときのビューが
表形式出力 から リスト ビューに変わってしまいました。
出力ビューが変わったのでPsCostomObjectではなくなってしまったのではないかと思い
Gettype をつかって確認してみたのですが 問題はなく
追加前と同様に Array の中に PsCustomobject 入っていました。
一体**何が変わってしまったのでしょうか?**
又、それは**元に戻すことは可能なのでしょうか?**
**教えて頂きたいです。**
`Add-Member`を使えば大丈夫なのは確認できましたが、
その地点では Value は 必要ないのに 省略不可能 だったり
コードが長くなるのが 若干気になるので
問題なければそのまま`select -property`を使いたいと思っています。
### 発生している問題
`select -property`を使って
プロパティーを追加すると
表形式出力 から リスト ビューに変わってしまう
### 該当のソースコード
```powershell
$test = @([PSCustomObject]@{A = 1;B=2;C=3},[PSCustomObject]@{A = 1;B=2;C=3})
$test
<#
出力ビュー
A B C
- - -
1 2 3
1 2 3
#>
```  
```powershell  
#プロパティーの追加  
$test2 = @([PSCustomObject]@{A = 1;B=2;C=3},[PSCustomObject]@{A = 1;B=2;C=3})  
$test2 = $test2 | select -Property *,d,e,f  
#プロパティーの追加
$test = $test | select -Property *,d,e,f
$test
$test2
<#
出力ビュー
A : 1
B : 2
C : 3
d :
e :
f :
A : 1
B : 2
C : 3
d :
e :
f :
#>
```
### 試したこと
一応 Format-Table を試してみました
出力ビューは元に戻るのですが型が変わってしまうので
Psobjectにキャストできないか試したのですが出来ませんでした。
### 補足情報(FW/ツールのバージョンなど)
Win10
PSVersion : 5.1.17763.134
  • PowerShell

    974 questions

    Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る