Write-Debug

Applies To: Windows PowerShell 2.0

Writes a debug message to the console.

Syntax

Write-Debug [-Message] <string> [<CommonParameters>]

Description

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>

Specifies the debug message to send to the console.

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

<CommonParameters>

This command supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, OutBuffer, OutVariable, WarningAction, and WarningVariable. For more information, see about_CommonParameters.

Inputs and Outputs

The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.

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.

Example 1

C:\PS>Write-Debug "Cannot open file."

Description

-----------

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

Example 2

C:\PS>$DebugPreference

SilentlyContinue

C:\PS> Write-Debug "Cannot open file."
C:\PS>

C:\PS> Write-Debug "Cannot open file." -debug
DEBUG: Cannot open file.

Description

-----------

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.

Example 3

C:\PS>$DebugPreference

SilentlyContinue

C:\PS> Write-Debug "Cannot open file."
C:\PS>

C:\PS> $DebugPreference = "Continue"

C:\PS> Write-Debug "Cannot open file."
DEBUG: Cannot open file.

Description

-----------

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.

See Also

Concepts

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