將輸出新增至 Windows PowerShell 指令碼

已完成

當指令碼未如預期般運作時,讓指令碼顯示其他資訊可能很有用。 您可以使用該資訊來瞭解指令碼的運作方式,以及其未如預期般運作的原因。

Write-Host Cmdlet 是指令碼執行時顯示其他資訊最常見的方式。 您可以使用 Write-Host 來顯示文字資訊,指出指令碼和變數值中的特定點。 在大部分案例下,當指令碼的行為不如預期時,變數值可能會很有用,因為變數沒有您預期的值。

如果您想要讓疑難排解文字更容易識別,可以使用 Write-Warning Cmdlet,而不是 Write-HostWrite-Warning 會以不同的顏色顯示您指定的文字。

如果您想要讓指令碼的執行速度變慢,以便更妥善地檢閱輸出,您可以新增 Start-Sleep Cmdlet 並指定幾秒鐘的暫停。 或者,如果您想要讓指令碼暫停,直到您準備好繼續為止,您可以使用 Read-Host

當您進行疑難排解時,可以註解化其他資訊。 然後,如有需要,您可以取消註解,以再次檢閱其他資訊。

進階指令碼輸出

如果您已使用 Param() 區塊中的 CmdletBinding(),將指令碼設定為進階指令碼,您也可以使用下表中的 Cmdlet 做為指令碼的一部分來進行疑難排解。

資料表 1:用於疑難排解的 Cmdlet

Cmdlet 描述
Write-Verbose 只有在執行指令碼時使用 參數時,才會顯示 -Verbose 所指定的文字。 $VerbosePreference 的值會指定要在 Write-Verbose 命令之後採取的動作。 預設動作為 SilentlyContinue
Write-Debug 只有在執行指令碼時使用 參數時,才會顯示 -Debug 所指定的文字。 $DebugPreference 的值會指定要在 Write-Debug 命令之後採取的動作。 預設動作為 SilentlyContinue,螢幕上不會顯示任何資訊。 您必須將此動作變更為 [繼續],以便顯示偵錯訊息。