Skip to content

Latest commit

 

History

History
148 lines (102 loc) · 3.78 KB

File metadata and controls

148 lines (102 loc) · 3.78 KB
external help file Locale Module Name ms.date online version schema title
Microsoft.PowerShell.Commands.Utility.dll-Help.xml
en-US
Microsoft.PowerShell.Utility
12/12/2022
2.0.0
Write-Debug

Write-Debug

SYNOPSIS

Writes a debug message to the console.

SYNTAX

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

DESCRIPTION

The Write-Debug cmdlet writes debug messages to the host 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.

EXAMPLES

Example 1: Understand $DebugPreference

This example writes a debug message.

Write-Debug "Cannot open file."

The default value of $DebugPreference is SilentlyContinue. Therefore, the message is not displayed in the console.

Example 2: Change the value of $DebugPreference

This example shows the effect of changing the value of the $DebugPreference variable. First, we display the current value of $DebugPreference and attempt to write a debug message. Then we change the value of $DebugPreference to Continue, which allows debug messages to be displayed.

PS> $DebugPreference
SilentlyContinue
PS> Write-Debug "Cannot open file."
PS>
PS> $DebugPreference = "Continue"
PS> Write-Debug "Cannot open file."
DEBUG: Cannot open file.

For more information about $DebugPreference, see about_Preference_Variables.

Example 3: Use the Debug parameter to override $DebugPreference

The Test-Debug function writes the value of the $DebugPreference variable to the PowerShell host and to the Debug stream. In this example, we use the Debug parameter to override the $DebugPreference value.

function Test-Debug {
    [CmdletBinding()]
    param()
    Write-Debug ('$DebugPreference is ' + $DebugPreference)
    Write-Host ('$DebugPreference is ' + $DebugPreference)
}
PS> Test-Debug
$DebugPreference is SilentlyContinue

PS> Test-Debug -Debug
DEBUG: $DebugPreference is Continue
$DebugPreference is Continue
PS> $DebugPreference
SilentlyContinue

Notice that the value of $DebugPreference changes when you use the Debug parameter. This change only affects the scope of the function. The value is not affected outside the function.

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

PARAMETERS

-Message

Specifies the debug message to send to the console.

Type: System.String
Parameter Sets: (All)
Aliases: Msg

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.String

You can pipe a string that contains a debug message to this cmdlet.

OUTPUTS

None

This cmdlet returns no output. It only writes to the debug stream.

NOTES

RELATED LINKS

about_Output_Streams

about_Redirection

Write-Error

Write-Host

Write-Output

Write-Progress

Write-Verbose

Write-Warning