Write-Debug

Writes a debug message to the console.
Write-Debug [-Message*] <String> [<CommonParameters>]

The Write-Debug cmdlet writes debug messages to the console from a script or command.

By default, debug messages are not displayed in the console, but you can display them by using the Debug parameter or the $DebugPreference variable.

Parameters
-Message <String>

  • This value is required
  • Accepts pipeline input ByValue

Specifies the debug message to send to the console.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs

System.String

You can pipe a string that contains a debug message to Write-Debug.

Outputs

None

Write-Debug writes only to the debug stream. It does not return any output.

Examples
  1. Understand $DebugPreference:
    PS C:>  Write-Debug "Cannot open file."
    

    This command writes a debug message. Because the value of $DebugPreference is SilentlyContinue, the message is not displayed in the console.

  2. Use the Debug parameter to override $DebugPreference:
    PS C:>  $DebugPreference
    SilentlyContinuePS C:>  Write-Debug "Cannot open file."
    PS C:>
    PS C:>  Write-Debug "Cannot open file." -Debug
    DEBUG: Cannot open file.
    

    This example shows how to use the Debug common parameter to override the value of the $DebugPreference variable for a particular command.

    The first command displays the value of the $DebugPreference variable, which is SilentlyContinue, the default.

    The second command writes a debug message but, because of the value of $DebugPreference, the message does not appear.

    The third command writes a debug message. It uses the Debug common parameter to override the value of $DebugPreference and to display the debug messages resulting from this command.

    As a result, even though the value of $DebugPreference is SilentlyContinue, the debug message appears.

    For more information about the Debug common parameter, see about_CommonParameters.

  3. Change the value of $DebugPreference:
    PS C:> $DebugPreference
    SilentlyContinuePS C:>  Write-Debug "Cannot open file." PS C:>
    PS C:>  $DebugPreference = "Continue"
    PS C:>  Write-Debug "Cannot open file."
    DEBUG: Cannot open file.
    

    This command shows the effect of changing the value of the $DebugPreference variable on the display of debug messages.

    The first command displays the value of the $DebugPreference variable, which is SilentlyContinue, the default.

    The second command writes a debug message but, because of the value of $DebugPreference, the message does not appear.

    The third command assigns a value of Continue to the $DebugPreference variable.

    The fourth command writes a debug message, which appears on the console.

    For more information about $DebugPreference, see about_Preference_Variables.

Related Links

Write-Error
Write-Host
Write-Output
Write-Progress
Write-Verbose
Write-Warning