1

コンソールで実行するGet-Recipient | ft Nameとすべて問題ないように見えますが、スクリプトで実行すると、出力はクラス名のリストにすぎません。 Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
これを修正するにはどうすればよいですか? ありとあらゆる助けに感謝します!

//デビッド

4

1 に答える 1

5

コマンドレットは、データの表示Format-*制御するためにのみ使用してください。「ライブラリ」タイプのスクリプトまたは関数内で使用されることはめったにありません。ステータス メッセージなどを表示する場合を想定してください。コマンドレットの実際の出力は、表示の書式設定を行う方法を Powershell エンジンに指示する一連の魔法のオブジェクト (みんな) です。Format-*FormatEntryData

データをキャプチャしているのではなく、画面に表示させているだけなので、コンソールで機能します。

スクリプトでは、データをそのまま返して、必要に応じて呼び出し元にフォーマット方法を決定させる必要があります。フィールドのみを戻したい場合はName、 を使用Select-Object Nameして他のフィールドを切り離します。

于 2013-10-09T18:59:39.397 に答える