Write-Output
Escreve os objetos especificados no pipeline.
Sintaxe
Default (Predefinição)
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
Escreve os objetos especificados no pipeline. Se Write-Output for o último comando no pipeline, os objetos serão exibidos no console.
Write-Output envia objetos para o pipeline primário, que também é conhecido como fluxo de sucesso . Para enviar objetos de erro para o fluxo de erro, use Write-Error.
Esse cmdlet normalmente é usado em scripts para exibir cadeias de caracteres e outros objetos no console. Um dos aliases internos para Write-Output é echo e é semelhante ao de outros shells que usam echo. O comportamento padrão é exibir a saída no final de um pipeline. No PowerShell, geralmente não é necessário usar o cmdlet em instâncias em que a saída é exibida por padrão. Por exemplo, Get-Process | Write-Output é equivalente a Get-Process. Ou, echo "Home directory: $HOME" poderá ser escrito: "Home directory: $HOME".
Por padrão, Write-Output enumera objetos em uma coleção. No entanto, Write-Output também pode passar coleções pelo pipeline como um único objeto com o parâmetro NoEnumerate.
Exemplos
Exemplo 1: Obter objetos e gravá-los no console
Neste exemplo, os resultados do cmdlet Get-Process são armazenados na variável $P. O cmdlet Write-Output exibe os objetos de processo em $P ao console.
$P = Get-Process
Write-Output $P
Exemplo 2: Passar a saída para outro cmdlet
Este comando canaliza a cadeia de caracteres "test output" para o cmdlet Get-Member, que exibe os membros da classe System.String, demonstrando que a cadeia de caracteres foi transmitida através do pipeline.
Write-Output "test output" | Get-Member
Exemplo 3: Suprimir enumeração na saída
Este comando adiciona o parâmetro NoEnumerate para tratar uma coleção ou matriz como um único objeto no pipeline.
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
Parâmetros
-InputObject
Especifica os objetos que devem ser enviados através do pipeline. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.
Propriedades dos parâmetros
| Tipo: | PSObject[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-NoEnumerate
Por padrão, o cmdlet Write-Output sempre enumera sua saída. O parâmetro NoEnumerate suprime o comportamento padrão e impede que Write-Output enumere a saída. O parâmetro NoEnumerate não terá efeito se o comando estiver entre parênteses, porque os parênteses forçam a enumeração. Por exemplo, (Write-Output 1,2,3 -NoEnumerate) ainda enumera a matriz.
O parâmetro NoEnumerate só é útil dentro de um pipeline. Tentar ver os efeitos de NoEnumerate no console é problemático porque o PowerShell adiciona Out-Default ao final de cada linha de comando, o que resulta em enumeração. Mas se você canalizar Write-Output -NoEnumerate para outro cmdlet, o cmdlet downstream receberá o objeto de coleção, não os itens enumerados da coleção.
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 |
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
PSObject
Você pode canalizar objetos para este cmdlet.
Saídas
PSObject
Este cmdlet retorna os objetos que são enviados como entrada.
Notas
O PowerShell inclui os seguintes aliases para Write-Output:
Todas as plataformas:
echo
Windows:
write