All Versions
If your script wants to output warnings or error messages, you can use Write-Warning or Write-Error. Both cmdlets will use the default PowerShell colors for warnings and errors. However, the cmdlets will also apply a text template to your output:
PS> Write-Warning -Message 'This is a warning' WARNING: This is a warning PS> Write-Error -Message 'Something went wrong' Write-Error -Message 'Something went wrong' : Something went wrong + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
Write-Error adds a lot of meaningless exception details when all you wanted was output some error text. A better way:
PS> $host.UI.WriteErrorLine('Something went wrong...') Something went wrong...
The colors for warnings and errors can be configured here by the way:
PS> $host.UI.WriteErrorLine('Something went wrong...') Something went wrong... PS> $host.PrivateData.ErrorBackgroundColor = 'White' PS> $host.UI.WriteErrorLine('Something went wrong...') Something went wrong... PS> $host.PrivateData (...) ErrorForegroundColor : #FFFF0000 ErrorBackgroundColor : #FFFFFFFF WarningForegroundColor : #FFFF8C00 WarningBackgroundColor : #00FFFFFF VerboseForegroundColor : #FF00FFFF VerboseBackgroundColor : #00FFFFFF DebugForegroundColor : #FF00FFFF DebugBackgroundColor : #00FFFFFF (...)