Writes a warning message.
Write-Warning [-Message] <String> [<CommonParameters>]
Write-Warning cmdlet writes a warning message to the PowerShell host. The response to the
warning depends on the value of the user's
$WarningPreference variable and the use of the
WarningAction common parameter.
Example 1: Write a warning message
This command displays the message "WARNING: This is only a test warning."
Write-Warning "This is only a test warning."
Example 2: Pass a string to Write-Warning
This command shows that you can use a pipeline operator (
|) to send a string to
You can save the string in a variable, as shown in this command, or pipe the string directly to
$w = "This is only a test warning." $w | Write-Warning
Example 3: Set the $WarningPreference variable and write a warning
This example shows the effect of the value of the
$WarningPreference variable on a
PS> $WarningPreference Continue PS> Write-Warning "This is only a test warning." This is only a test warning. PS> $WarningPreference = "SilentlyContinue" PS> Write-Warning "This is only a test warning." PS> $WarningPreference = "Stop" PS> Write-Warning "This is only a test warning." WARNING: This is only a test message. Write-Warning : Command execution stopped because the shell variable "WarningPreference" is set to Stop. At line:1 char:14 + Write-Warning <<<< "This is only a test message."
The first command displays the default value of the
$WarningPreference variable, which is
Continue. As a result, when you write a warning, the warning message is displayed and execution
When you change the value of the
$WarningPreference variable, the effect of the
command changes again. A value of
SilentlyContinue suppresses the warning. A value of
displays the warning and then stops execution of the command.
For more information about the
$WarningPreference variable, see
Example 4: Set the WarningAction parameter and write a warning
This example shows the effect of the WarningAction common parameter on a
command. You can use the WarningAction common parameter with any cmdlet to determine how
PowerShell responds to warnings resulting from that command. The WarningAction common parameter
overrides the value of the
$WarningPreference only for that particular command.
PS> Write-Warning "This is only a test warning." -WarningAction Inquire WARNING: This is only a test warning. Confirm Continue with this operation? [Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"):
This command uses the
Write-Warning cmdlet to display a warning. The WarningAction common
parameter with a value of Inquire directs the system to prompt the user when the command displays a
For more information about the WarningAction common parameter, see about_CommonParameters.
Specifies the warning message.
|Accept pipeline input:||True|
|Accept wildcard characters:||False|
You can pipe a string that contains the warning to
Write-Warning writes only to the warning stream. It does not generate any other output.
The default value for the
$WarningPreference variable is
Continue, which displays the warning
and then continues executing the command. To determine valid values for a preference variable such
$WarningPreference, set it to a string of random characters, such as "abc". The resulting error
message lists the valid values.