2016-05-06 10 views
0

カスタムオブジェクトを返すコマンドレットがあります。format-listでオブジェクトをコンソールに出力する方法と、オブジェクトをオブジェクトとして返す方法はありますか?

私はまだオブジェクトを返したいと思っていますが、スクリプトを実行しているときに、書込みホストがコンソールに書き込む方法のように、これらのオブジェクトもコンソールに出力したいのですが、その出力は変数代入。

だから例えば私は、コンソールからこのようにそれを使用することができるようにしたい:

$ArrayOfObjects = $ArrayOfIPsOrWhatever | MyCoolCmdlet.ps1 

これは、そのコマンド

name: myobj1 
prop1: sdfsdfsdf 
prop2: sldkjfss 

name: myobj2 
prop1: swerwew 
prop2: kopkpjojpoj 

しかし、彼らを実行するときに、ユーザーがコンソールで見ているものですまた、オブジェクトの配列を使用することもできます(この$ ArrayOfObject [1..2]のような)

+1

[Powershellのコマンドプロンプトの対応は可能ですか?](http://stackoverflow.com/questions/31818045/powershells-correspondend-of-con-of-command-prompt) – PetSerAl

答えて

1

あなたはおそらくそのような呼び出し側で出力を強制すべきではありません。少なくともWrite-Verboseを使用してください。

は、しかし、それを行う方法はただWrite-HostまたはWrite-Verboseとあなたのコマンドレット内のオブジェクトを記述することで、出力ストリームに戻す

がフォーマットされた出力を使用するには、この穏やかに複雑なことを行うことができます:あなたが望むものをやっていないか

$myObjects | Format-List | Out-String | Write-Verbose 

はあなたのコードを表示し、説明しなければなりません。

+0

しかし私は嫌いです使用したい書き込みコマンドレットを使用するFL – red888

+0

@ red888私の編集を参照してください – briantist

関連する問題