1. ホーム
  2. powershell

[解決済み] Powershellでオブジェクトのプロパティを印刷する

2022-04-27 15:45:43

質問

インタラクティブ・コンソールで作業しているとき、新しいオブジェクトを定義して、いくつかのプロパティ値をこのように割り当てたとしたら、どうなりますか?

$obj = New-Object System.String
$obj | Add-Member NoteProperty SomeProperty "Test"

そして、インタラクティブウィンドウに変数名を入力すると、Powershellはオブジェクトのプロパティと値のサマリーを表示します。

PS C:\demo> $obj
SomeProperty                                                                                                                                                                                  
------------                                                                                                                                                                                  
Test

私は基本的にこれを行いたいのですが、スクリプト内の関数の中から行います。この関数はオブジェクトを作成し、いくつかのプロパティ値を設定し、戻る前にPowershellウィンドウにオブジェクト値のサマリーをプリントアウトしたいのです。私は関数内でWrite-Hostを使用しようとしました。

Write-Host $obj

しかし、これはオブジェクトのタイプを出力するだけで、サマリーは出力されません。

System.Object

オブジェクトのプロパティ値の概要を関数からPowershellウィンドウに出力するには?

どのように解決するのですか?

これを試してみてください。

Write-Host ($obj | Format-Table | Out-String)

または

Write-Host ($obj | Format-List | Out-String)