コマンドレットの出力の種類
PowerShell には、コマンドレットによって出力を生成するために呼び出すことができるメソッドがいくつか用意されています。 これらのメソッドは、特定の操作を使用して、成功データストリームやエラーデータストリームなどの特定のデータストリームに出力を書き込みます。 この記事では、出力の種類と、それらを生成するために使用されるメソッドについて説明します。
出力の種類
成功の出力
コマンドレットは、パイプラインの次のコマンドで処理できるオブジェクトを返すことで成功を報告できます。 コマンドレットは、アクションを正常に実行した後、 WriteObject メソッドを呼び出します。 PSHostUserInterfaceメソッドまたはメソッドの代わりに、このメソッドを呼び出すことをお勧めします。このメソッドは、
通常はオブジェクトを返さないコマンドレットには、 PassThru スイッチパラメーターを指定できます。 コマンドラインで PassThru スイッチパラメーターを指定すると、コマンドレットはオブジェクトを返すように求められます。 PassThru パラメーターを持つコマンドレットの例については、「追加-履歴」を参照してください。
エラー出力
コマンドレットはエラーを報告できます。 終了エラーが発生すると、コマンドレットは例外をスローします。 終了しないエラーが発生すると、コマンドレットは WriteError メソッドを呼び出して、エラーレコードをエラーデータストリームに送信しています。 エラー報告の詳細については、「 エラーレポートの概念」を参照してください。
詳細出力
コマンドレットは、使用しているユーザーにとって有用な情報を提供します。また、コマンドレットで は、このメソッドを 呼び出すことによってレコードが正しく処理されます。 メソッドは、アクションの進行状況を示す詳細メッセージを生成します。
既定では、詳細メッセージは表示されません。 これらのメッセージを表示するには、コマンドレットを実行するときに Verbose パラメーターを指定します。 Verbose は、すべてのコマンドレットで使用できる共通のパラメーターです。
進行状況の出力
コマンドレットは、ディレクトリを再帰的にコピーするなど、完了までに時間がかかるタスクを実行しているときに、進行状況に関する情報を提供します。 進行状況に関する情報を表示するには、コマンドレットで system.servicemodel メソッドを 呼び出します。
デバッグ出力
コマンドレットは、コマンドレットコードのトラブルシューティングに役立つデバッグメッセージを提供できます。 デバッグ情報を表示するには、コマンドレットに よって、system.string メソッドが 呼び出されます。
既定では、デバッグメッセージは表示されません。 コマンドレットを実行してこれらのメッセージを表示する場合は、 Debug パラメーターを指定できます。 Debug は、すべてのコマンドレットで使用できる共通パラメーターです。
警告出力
コマンドレット では、system.string メソッドを 呼び出すことで警告メッセージを表示できます。
既定では、警告メッセージが表示されます。 ただし、警告メッセージを構成するには、変数を使用する $WarningPreference か、コマンドレットが呼び出されたときに Verbose パラメーターと Debug パラメーターを使用します。
出力の表示
すべての書き込みメソッド呼び出しでは、コンテンツの表示は特定のランタイム変数によって決定されます。 例外として、 WriteObject メソッドがあります。 これらの変数を使用すると、適切な書き込み呼び出しをコード内の適切な場所で行うことができ、出力を表示するタイミングやタイミングを気にする必要がなくなります。
ホストアプリケーションの出力機能へのアクセス
PowerShell ランタイムを使用してホストアプリケーションの出力機能に直接アクセスするようにコマンドレットを設計することもできます。 System. コンソールまたは Windows ではなく、PowerShell によって提供されるホスト api を使用します。フォームを使用すると、コマンドレットがさまざまなホストで動作することが保証されます。 たとえば、 powershell.exe コンソールホスト、 powershell_ise.exe グラフィカルホスト、PowerShell リモート処理ホスト、サードパーティのホストなどです。
関連項目
フィードバック
フィードバックの送信と表示