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
このコマンドは、パイプラインを通じてコレクションまたは配列を 1 つのオブジェクトとして扱うために NoEnumerate パラメーターを追加します。
パラメーター
-InputObject
パイプラインに送信するオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoEnumerate
既定では、 Write-Output コマンドレットは常にその出力を列挙します。 NoEnumerate パラメーターは既定の動作を抑制し、Write-Output が出力を列挙できないようにします。 NoEnumerate パラメーターは、かっこで囲まれたコマンドによって作成されたコレクションには影響しません。かっこは列挙を強制するためです。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
オブジェクトをパイプ処理して Write-Output にすることができます。
出力
Write-Output は、入力として送信されたオブジェクトを返します。