Out Host - PowerShell
Overview
The Out-Host command displays output to the console window of the current PowerShell session. It is primarily used for providing informational messages, debugging output, or any other text-based output to the user.
Syntax
Out-Host [-ErrorAction <Action>] [-ForegroundColor <Color>] [-BackgroundColor <Color>] [-InputObject <Object>] [-OutBuffer <bool>] [-Width <int>] [-Append] [-NoNewline]
Options/Flags
- -ErrorAction: Specifies the action to be taken when an error occurs. Valid values include:
Stop,SilentlyContinue,Continue,Suspend, andIgnore. Default:Continue. - -ForegroundColor: Sets the foreground color of the output text. Valid values are the standard color names or the escape sequences below:
- Red:
[Esc][91m, Green:[Esc][92m, Yellow:[Esc][93m - Blue:
[Esc][94m, Magenta:[Esc][95m, Cyan:[Esc][96m - White:
[Esc][97m - Default:
White
- Red:
- -BackgroundColor: Sets the background color of the output text using the same escape sequences as
ForegroundColor. Default:Black - -InputObject: Specifies the input object to be displayed. If not provided, no input will be displayed.
- -OutBuffer: Specifies whether to buffer the output before displaying it. If
$true, the output will be collected in a buffer before being displayed. Default:$false - -Width: Sets the maximum width of the displayed output. Lines longer than the specified width will be wrapped. Default:
System Console Width - -Append: Appends the output to the current line instead of creating a new line.
- -NoNewline: Prevents a newline from being added after the output.
Examples
# Display a simple message
Out-Host "Hello, PowerShell!"
# Display a warning with a red foreground
Out-Host -ForegroundColor Red "Warning: This is important!"
# Display a progress bar with a blue background
Out-Host -BackgroundColor Blue "Progress: [=========]"
# Display the output of Get-Command
Out-Host (Get-Command)
# Display custom objects with -InputObject
$obj = New-Object -TypeName PSObject
$obj | Add-Member -MemberType NoteProperty -Name Name -Value "John Smith"
$obj | Add-Member -MemberType NoteProperty -Name Email -Value "john.smith@example.com"
Out-Host -InputObject $obj
Common Issues
- Output not colored: Ensure the PowerShell console supports ANSI escape sequences.
- Output not wrapped: Set the appropriate value for
-Width. - Output displayed in separate lines: Use
-Appendto prevent a newline. - ANSI escape sequences not recognized: Use the
-ForegroundColorand-BackgroundColorparameters instead of escape sequences.
Integration
Out-Host can be combined with other commands to create informative scripts and workflows. For example, you can use it to:
- Display error messages from
Try-Catchblocks - Create custom progress bars
- Provide feedback to users during script execution
Related Commands
Write-HostFormat-HostWrite-Error