コンソールで実行するGet-Recipient | ft Name
とすべて問題ないように見えますが、スクリプトで実行すると、出力はクラス名のリストにすぎません。
Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
これを修正するにはどうすればよいですか? ありとあらゆる助けに感謝します!
//デビッド
コンソールで実行するGet-Recipient | ft Name
とすべて問題ないように見えますが、スクリプトで実行すると、出力はクラス名のリストにすぎません。
Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
これを修正するにはどうすればよいですか? ありとあらゆる助けに感謝します!
//デビッド
コマンドレットは、データの表示をFormat-*
制御するためにのみ使用してください。「ライブラリ」タイプのスクリプトまたは関数内で使用されることはめったにありません。ステータス メッセージなどを表示する場合を想定してください。コマンドレットの実際の出力は、表示の書式設定を行う方法を Powershell エンジンに指示する一連の魔法のオブジェクト (みんな) です。Format-*
FormatEntryData
データをキャプチャしているのではなく、画面に表示させているだけなので、コンソールで機能します。
スクリプトでは、データをそのまま返して、必要に応じて呼び出し元にフォーマット方法を決定させる必要があります。フィールドのみを戻したい場合はName
、 を使用Select-Object Name
して他のフィールドを切り離します。