Learn about Windows PowerShell
Summary: Write colorized output to the Windows PowerShell console without using the Write-Host cmdlet.
How can you write output to the Windows PowerShell console without using the Write-Host cmdlet?
Set ForegroundColor to a different color by using $host.Ui.RawUi, and then use the Write-Output cmdlet to write the output. When you are finished, set the ForegroundColor back to its original color.
PS C:\> $t = $host.ui.RawUI.ForegroundColor
PS C:\> $host.ui.RawUI.ForegroundColor = "DarkGreen"
PS C:\> Write-Output "this is green output"
this is green output
PS C:\> $host.ui.RawUI.ForegroundColor = $t
In what use cases would we want to do this instead of Write-Host ?
When you use Write-Host the content is written directly to the host and not passed on to the rest of the Pipeline. Useful when you want to print out status or informative messages while still passing extra content along in the pipeline, but not helpful
if you want colored output.