Write-Host

Grava saída personalizada em um host.

Syntax

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

Description

O Write-Host objetivo principal do cmdlet é produzir uma saída somente para (host)-display, como imprimir texto colorido como ao solicitar ao usuário a entrada em conjunto com o Read-Host. Write-Host usa o método ToString() para gravar a saída. Por outro lado, para exportar dados para o pipeline, use Write-Output ou saída implícita.

Você pode especificar a cor do texto usando o ForegroundColor parâmetro e pode especificar a cor do plano de fundo usando o BackgroundColor parâmetro. O parâmetro Separator permite especificar uma cadeia de caracteres a ser usada para separar objetos exibidos. O resultado específico depende do programa que está hospedando o PowerShell.

Nota

A partir do Windows PowerShell 5.0, Write-Host é um wrapper para Write-Information Isso permite que você use Write-Host para emitir saída para o fluxo de informações. Isso permite a captura ou supressão de dados gravados usandoWrite-Host, preservando a compatibilidade com versões anteriores.

A variável de preferência e InformationAction o $InformationPreference parâmetro comum não afetam Write-Host as mensagens. A exceção a esta regra é -InformationAction Ignore, que efetivamente suprime a Write-Host saída. (ver "Exemplo 5")

Exemplos

Exemplo 1: Gravar no console sem adicionar uma nova linha

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

Este comando exibe a string 'no newline test' com o NoNewline parâmetro.

Uma segunda string é escrita, mas acaba na mesma linha que a primeira devido à ausência de uma nova linha separando as strings.

Exemplo 2: Gravar no console e incluir um separador

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

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

Este comando exibe os números pares de dois a doze. O parâmetro Separator é usado para adicionar a cadeia de caracteres , +2= (vírgula, espaço, +, 2, =, espaço).

Exemplo 3: Escrever com texto e cores de fundo diferentes

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

2, -> 4, -> 6, -> 8, -> 10, -> 12

Este comando exibe os números pares de dois a doze. Ele usa o ForegroundColor parâmetro para produzir texto verde escuro e o BackgroundColor parâmetro para exibir um fundo branco.

Exemplo 4: Escrever com texto e cores de fundo diferentes

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

Este comando exibe a cadeia de caracteres "Vermelho no texto branco". O texto é vermelho, conforme definido pelo ForegroundColor parâmetro. O fundo é branco, conforme definido pelo BackgroundColor parâmetro.

Exemplo 5: Suprimir a saída do Write-Host

# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null

Esses comandos suprimem efetivamente a Write-Host saída do cmdlet. O primeiro usa o InformationAction parâmetro com o Valor para suprimir a Ignore saída para o fluxo de informações. O segundo exemplo redireciona o fluxo de informações do comando para a $null variável e, assim, a suprime. Para obter mais informações, consulte about_Output_Streams.

Parâmetros

-BackgroundColor

Especifica a cor de fundo. Não há inadimplência. Os valores aceitáveis para este parâmetro são:

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

-ForegroundColor

Especifica a cor do texto. Não há inadimplência. Os valores aceitáveis para este parâmetro são:

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

-NoNewline

As representações de cadeia de caracteres dos objetos de entrada são concatenadas para formar a saída. Nenhum espaço ou novas linhas são inseridos entre as cadeias de caracteres de saída. Nenhuma nova linha é adicionada após a última cadeia de caracteres de saída.

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

-Object

Objetos a serem exibidos no host.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Separator

Especifica uma cadeia de caracteres separadora a ser inserida entre objetos exibidos pelo host.

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

Entradas

Object

Você pode canalizar objetos a serem gravados no host para este cmdlet.

Saídas

None

Este cmdlet não retorna nenhuma saída. Ele envia os objetos para o host. O host exibe os objetos que esse cmdlet envia para ele.

Notas

  • Ao escrever uma coleção para o host, os elementos da coleção são impressos na mesma linha separados por um único espaço. Isso pode ser substituído pelo parâmetro Separator .

  • Tipos de dados não primitivos, como objetos com propriedades, podem causar resultados inesperados e não fornecer saída significativa. Por exemplo, Write-Host @{a = 1; b = 2} imprimirá System.Collections.DictionaryEntry System.Collections.DictionaryEntry para o host.