Windows PowerShell スクリプトに出力を追加する
スクリプトが想定どおりに動作していないときは、スクリプトに追加情報を表示すると役に立ちます。 この情報を使用して、スクリプトの実行内容と、予期したとおりに動作しない理由を把握できます。
Write-Host コマンドレットは、スクリプトの実行中に追加情報を表示する最も一般的な方法です。 Write-Host を使用して、スクリプト内の特定のポイントと変数の値を示すテキスト情報を表示できます。 変数の値は、ほとんどの場合に役立ちます。スクリプトが期待どおりに動作しないときは、変数に期待される値がないためです。
トラブルシューティング テキストを識別しやすくする場合は、Write-Host ではなく Write-Warning コマンドレットを使用できます。 Write-Warning は、指定するテキストを別の色で表示します。
出力をより綿密に確認できるようにスクリプトの実行速度を低下させる場合は、Start-Sleep コマンドレットを追加し、一時停止する秒数を指定できます。 別の方法として、続行する準備ができるまでスクリプトを一時停止する場合は、Read-Host を使用できます。
トラブルシューティングの処理中に、追加情報をコメントにできます。 次に、必要に応じてコメントを解除して、追加情報をもう一度確認できます。
高度なスクリプト出力
Param() ブロックで CmdletBinding() を使用してスクリプトを高度なスクリプトとして構成した場合は、トラブルシューティングのために、スクリプトの一部として次の表のコマンドレットを使用することもできます。
"表 1: トラブルシューティングのためのコマンドレット"
| コマンドレット | 説明 |
|---|---|
| Write-Verbose |
Write-Verbose で指定されたテキストは、スクリプトの実行時に -Verbose パラメーターを使用したときにのみ表示されます。 値 $VerbosePreference は、Write-Verbose コマンドの後に実行するアクションを指定します。 既定のアクションは SilentlyContinue です。 |
| Write-Debug |
Write-Debug で指定されたテキストは、スクリプトの実行時に -Debug パラメーターを使用したときにのみ表示されます。 値 $DebugPreference は、Write-Debug コマンドの後に実行するアクションを指定します。 既定のアクションは SilentlyContinue で、画面には何も情報が表示されません。 デバッグ メッセージが表示されるように、このアクションを Continue に変更する必要があります。 |