The Write-Host cmdlet enables you to write messages to the Windows PowerShell console. For example, do you have a pressing need to write the phrase This is a message to the console window? Then just call Write-Host followed by the message you’d like to write: Write-Host "This is a message" There’s nothing wrong with that; it writes the phrase This is a message to the console window. However, let’s see if we can get Write-Host to do something even more exciting. As it turns out, Write-Host includes two optional parameters – -foregroundcolor and –backgroundcolor – that enable you to specify a different text color and a different text background color. For example, here’s a command that sets the foreground (text) color to red and the background color to yellow: Write-Host "This is red text on a yellow background"
-foregroundcolor red -backgroundcolor yellow
And here’s what the resulting console window looks like:
Here’s an interesting variation that displays differently-colored text on the same line as regular text. The command first calls Write-Host and writes the phrase Data for. Notice, however, that it then appends the parameter –nonewline. As the name implies, -nonewline causes the cursor to stay on the current line. Is that important? You bet it is: by default, any time you call write-Host it tacks a carriage-return linefeed on the end, causing the cursor to drop to the next line in the console window. However, by using –nonewline we leave the cursor in place; that enables us to call Write-Host a second time (separating the individual calls using a semi-colon). This time around we write the name of the computer, but we also do the red-text-on-a-yellow-background thing. We add a semi-colon and then call Write-Host a third time, this time writing the phrase retrieved May 12, 2006 in regular text. Got all that? Here’s what the command looks like: Write-Host "Data for " -nonewline; Write-Host "atl-ws-01"
-foregroundcolor red -backgroundcolor yellow -nonewline;
Write-Host " retrieved May 12, 2006"
And here’s what the resulting console window looks like:
|




