Write-Host

Writes customized output to a host.

Syntax

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Description

The Write-Host cmdlet customizes output. You can specify the color of text by using the ForegroundColor parameter, and you can specify the background color by using the BackgroundColor parameter. The Separator parameter lets you specify a string to use to separate displayed objects. The particular result depends on the program that is hosting PowerShell.

Examples

Example 1: Write to the console without adding a new line

PS C:\> Write-Host "no newline test " -NoNewline

no newline test PS C:\>

This command displays the input to the console, but because of the NoNewline parameter, the output is followed directly by the prompt.

Example 2: Write to the console and include a separator

PS C:\> Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

This command displays the even numbers from 2 through 12. The Separator parameter is used to add the string , +2= (comma, space, +, 2, =, space).

Example 3: Write with different text and background colors

PS C:\> Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

This command displays the even numbers from 2 through 12. It uses the ForegroundColor parameter to output dark green text and the BackgroundColor parameter to display a white background.

Example 4: Write with different text and background colors

PS C:\> Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

This command displays the string "Red on white text." The text is red, as defined by the ForegroundColor parameter. The background is white, as defined by the BackgroundColor parameter.

Optional Parameters

-BackgroundColor

Specifies the background color. There is no default. The acceptable values for this parameter are:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Type: ConsoleColor
Parameter Sets: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ForegroundColor

Specifies the text color. There is no default. The acceptable values for this parameter are:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Type: ConsoleColor
Parameter Sets: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-NoNewline

The string representations of the input objects are concatenated to form the output. No spaces or newlines are inserted between the output strings. No newline is added after the last output string.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Object

Objects to display in the host.

Type: Object
Aliases: Message, Msg
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Separator

Specifies a separator string to insert between objects displayed by the host.

Type: Object
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Inputs

System.Object

You can pipe objects to be written to the host.

Outputs

None

Write-Host sends the objects to the host. It does not return any objects. However, the host might display the objects that Write-Host sends to it.