Write-Host
Grava saída personalizada em um host.
Sintaxe
Default (Predefinição)
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
O objetivo principal do cmdlet Write-Host é produzir uma saída somente para (host)-display, como imprimir texto colorido como ao solicitar entrada ao usuário em conjunto com 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 parâmetro ForegroundColor e pode especificar a cor do plano de fundo usando o parâmetro BackgroundColor. 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.
Observação
A partir do Windows PowerShell 5.0, Write-Host é um encapsulador para Write-Information. Isto permite que tu uses Write-Host para emitir saída para o fluxo de informações. Isso permite que o capture ou de supressão de dados gravados usando Write-Host preservando a compatibilidade com versões anteriores.
A variável de preferência $InformationPreference e InformationAction parâmetro comum não afetam Write-Host mensagens. A exceção a esta regra é -InformationAction Ignore, que efetivamente suprime 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 parâmetro NoNewline.
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 parâmetro ForegroundColor para gerar texto verde escuro e o parâmetro BackgroundColor para exibir um plano de 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 parâmetro ForegroundColor. O fundo é branco, conforme definido pelo parâmetro BackgroundColor.
Exemplo 5: Suprimir saída de 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 saída do cmdlet Write-Host. O primeiro usa o parâmetro InformationAction com o valor Ignore para suprimir a saída para o fluxo de informações.
O segundo exemplo redireciona o fluxo de informações do comando para a variável $null e, assim, o suprime. Para obter mais informações, consulte about_Output_Streams.
Parâmetros
-BackgroundColor
Especifica a cor do plano de fundo. Não há inadimplência. Os valores aceitáveis para este parâmetro são:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite
Propriedades dos parâmetros
| Tipo: | ConsoleColor |
| Default value: | None |
| Valores aceites: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ForegroundColor
Especifica a cor do texto. Não há inadimplência. Os valores aceitáveis para este parâmetro são:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite
Propriedades dos parâmetros
| Tipo: | ConsoleColor |
| Default value: | None |
| Valores aceites: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Object
Objetos a serem exibidos no host.
Propriedades dos parâmetros
| Tipo: | Object |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Msg, Mensagem |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Separator
Especifica uma cadeia de caracteres separadora a ser inserida entre objetos exibidos pelo host.
Propriedades dos parâmetros
| Tipo: | Object |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
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.DictionaryEntrypara o host.