Write-Output
指定したオブジェクトをパイプラインの次のコマンドに送信します。 コマンドがパイプラインの最後のコマンドである場合、オブジェクトはコンソールに表示されます。
構文
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
説明
Write-Output コマンドレットは、指定したオブジェクトをパイプラインの次のコマンドに送信します。 コマンドがパイプラインの最後のコマンドである場合、オブジェクトはコンソールに表示されます。
Write-Output は 、オブジェクトをプライマリ パイプライン ("出力ストリーム" または "成功パイプライン" とも呼ばれます) に送信します。エラー パイプラインにエラー オブジェクトを送信するには、 Write-Error を使用します。
このコマンドレットは、通常、文字列やその他のオブジェクトをコンソールに表示するためにスクリプトで使用されます。
ただし、既定の動作ではパイプラインの最後にオブジェクトが表示されるため、通常はコマンドレットを使用する必要はありません。
たとえば、 Get-Process | Write-Output
は Get-Process
に相当します。
例
例 1: オブジェクトを取得してコンソールに書き込む
PS C:\> $P = Get-Process
PS C:\> Write-Output $P
PS C:\> $P
最初のコマンドは、コンピューターで実行されているプロセスを取得し、それらを $P 変数に格納します。
2 番目と 3 番目のコマンドは、コンソール上の $P にプロセスオブジェクトを表示します。
例 2: 別のコマンドレットに出力を渡す
PS C:\> Write-Output "test output" | Get-Member
このコマンドは、"test output" 文字列を Get-Member コマンドレットにパイプ処理し、 System.String クラスのメンバーを表示し、文字列がパイプラインに沿って渡されたことを示します。
例 3: 出力の列挙を抑制する
PS C:\> Write-Output @(1,2,3) | measure
Count : 3
...
PS C:\> Write-Output @(1,2,3) -NoEnumerate | measure
Count : 1
このコマンドは、NoEnumerate パラメーターを追加して、パイプラインを介してコレクションまたは配列を 1 つのオブジェクトとして扱います。
パラメーター
-InputObject
パイプラインに送信するオブジェクトを指定します。 オブジェクトを含む変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
型: | PSObject[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-NoEnumerate
既定では、 Write-Output コマンドレットは常にその出力を列挙します。 NoEnumerate パラメーターは、既定の動作を抑制し、Write-Output が出力を列挙するのを防ぎます。 NoEnumerate パラメーターは、かっこでコマンドを囲んで作成されたコレクションには影響しません。これは、かっこによって列挙が強制されるためです。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
オブジェクトを Write-Output にパイプ処理できます。
出力
Write-Output は、入力として送信されたオブジェクトを返します。