Write-Warning
Writes a warning message.
Syntax
Write-Warning
[-Message] <String>
[<CommonParameters>]
Description
The 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.
Examples
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 Write-Warning
.
You can save the string in a variable, as shown in this command, or pipe the string directly to
Write-Warning
.
$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 Write-Warning
command.
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 warning.
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 warning."
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
continues.
When you change the value of the $WarningPreference
variable, the effect of the Write-Warning
command changes again. A value of SilentlyContinue
suppresses the warning. A value of Stop
displays the warning and then stops execution of the command.
For more information about the $WarningPreference
variable, see
about_Preference_Variables.
Example 4: Set the WarningAction parameter and write a warning
This example shows the effect of the WarningAction common parameter on a Write-Warning
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
warning.
For more information about the WarningAction common parameter, see about_CommonParameters.
Parameters
-Message
Specifies the warning message.
Type: | String |
Aliases: | Msg |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
You can pipe a string that contains the warning to this cmdlet.
Outputs
None
This cmdlet returns no output. It writes only to the warning stream.
Notes
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
as $WarningPreference
, set it to a string of random characters, such as "abc". The resulting error
message lists the valid values.