次の方法で共有


AvoidUsingWriteHost

重大度レベル: 警告

形容

Write-Host コマンドレットの主な目的は、ホストで表示のみの出力を生成することです。 たとえば、色付きのテキストを印刷したり、Read-Hostと組み合わせたときにユーザーに入力を求めたりします。 Write-Host では、ToString() メソッドを使用して出力を書き込みます。 特定の結果は、PowerShell をホストしているプログラムによって異なります。 Write-Host からの出力はパイプラインに送信されません。 パイプラインにデータを出力するには、Write-Output または暗黙的な出力を使用します。

関数で Write-Host を使用することは、関数が Show 動詞を使用しない限り推奨されません。 動詞は、ユーザーに情報 表示することを明示的に意味します。 このルールは、Show 動詞を持つ関数には適用されません。

どう

意図がログに記録されているか、1 つ以上のオブジェクトを返すかに応じて、Write-HostWrite-Output または Write-Verbose に置き換えます。

悪い

function Get-MeaningOfLife
{
    Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
    Write-Host 42
}

そうです

情報メッセージには Write-Verbose を使用します。 ユーザーは、Verbose パラメーターを指定して、メッセージを表示するかどうかを決定できます。

function Get-MeaningOfLife
{
    [CmdletBinding()]Param() # makes it possible to support Verbose output

    Write-Verbose 'Computing the answer to the ultimate question of life, the universe and everything'
    Write-Output 42
}

function Show-Something
{
    Write-Host 'show something on screen'
}

詳細情報

書き込みホスト の