Write-Information
Especifica como o PowerShell lida com dados de fluxo de informações para um comando.
Syntax
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
O Write-Information
cmdlet especifica como o PowerShell lida com dados de fluxo de informações para um comando.
Windows PowerShell 5.0 apresenta um novo fluxo de informações estruturado. Você pode usar esse fluxo para transmitir dados estruturados entre um script e seus chamadores ou o aplicativo host.
Write-Information
permite que você adicione uma mensagem informativa ao fluxo e especifique como o PowerShell lida com dados de fluxo de informações para um comando. Os fluxos de informações também funcionam para PowerShell.Streams
, trabalhos e tarefas agendadas.
Observação
O fluxo de informações não segue a convenção padrão de prefixar suas mensagens com "[Stream Nome]:". Isso se destinava à brevidade e à limpeza visual.
O $InformationPreference
valor da variável de preferência determina se a mensagem que você fornece é Write-Information
exibida no ponto esperado na operação de um script. Como o valor padrão dessa variável é SilentlyContinue
, por padrão, as mensagens informativas não são mostradas. Se você não quiser alterar o valor de $InformationPreference
, poderá substituir seu valor adicionando o InformationAction
parâmetro comum ao seu comando. Para obter mais informações, consulte about_Preference_Variables e about_CommonParameters.
Observação
A partir do Windows PowerShell 5.0, Write-Host
é um wrapper para Write-Information
Isso permite que você use Write-Host
para emitir a saída para o fluxo de informações. Isso permite a captura ou supressão de dados gravados usando Write-Host
, preservando a compatibilidade com versões anteriores. Para obter mais informações, consulte Write-Host
Write-Information
também é uma atividade de fluxo de trabalho com suporte no PowerShell 5.x.
Exemplos
Exemplo 1: Gravar informações para Obter resultados
Neste exemplo, você mostra uma mensagem informativa, "Obtive seus recursos!", depois de executar o Get-WindowsFeature
comando para localizar todos os recursos que têm um valor Name que começa com 'p'.
Como a $InformationPreference
variável ainda está definida como padrão, SilentlyContinue
você adiciona o InformationAction
parâmetro para substituir o $InformationPreference
valor e mostra a mensagem. O InformationAction
valor é Continuar, o que significa que sua mensagem é mostrada, mas o script ou o comando continua, se ainda não estiver concluído.
Get-WindowsFeature -Name p*
Write-Information -MessageData "Got your features!" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
Got your features!
Exemplo 2: Gravar informações e marcá-la
Neste exemplo, você usa Write-Information
para informar aos usuários que eles precisarão executar outro comando depois que terminarem de executar o comando atual. O exemplo adiciona as instruções de marca à mensagem informativa. Depois de executar esse comando, se você pesquisar no fluxo de informações as mensagens marcadas Instruções, a mensagem especificada aqui estará entre os resultados.
$message = "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet."
Get-WindowsFeature -Name p*
Write-Information -MessageData $message -Tags "Instructions" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
To filter your results for PowerShell, pipe your results to the Where-Object cmdlet.
Exemplo 3: gravar informações em um arquivo
Neste exemplo, você redireciona o fluxo de informações na função para um Info.txt
usando o código 6>
. Ao abrir o Info.txt
arquivo, você verá o texto "Aqui vai você".
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
Exemplo 4: Passar o objeto para gravar informações
Neste exemplo, você pode usar Write-Information
para gravar os 10 processos de utilização de CPU mais altos da Get-Process
saída do objeto que passou por vários pipelines.
Get-Process | Sort-Object CPU -Descending |
Select-Object Id, ProcessName, CPU -First 10 |
Write-Information -InformationAction Continue
@{Id=12692; ProcessName=chrome; CPU=39431.296875}
@{Id=21292; ProcessName=OUTLOOK; CPU=23991.875}
@{Id=10548; ProcessName=CefSharp.BrowserSubprocess; CPU=20546.203125}
@{Id=312848; ProcessName=Taskmgr; CPU=13173.1875}
@{Id=10848; ProcessName=SnapClient; CPU=7014.265625}
@{Id=9760; ProcessName=Receiver; CPU=6792.359375}
@{Id=12040; ProcessName=Teams; CPU=5605.578125}
@{Id=498388; ProcessName=chrome; CPU=3062.453125}
@{Id=6900; ProcessName=chrome; CPU=2546.9375}
@{Id=9044; ProcessName=explorer; CPU=2358.765625}
Parâmetros
-MessageData
Especifica uma mensagem informativa que você deseja exibir aos usuários enquanto eles executam um script ou comando. Para obter melhores resultados, coloque a mensagem informativa entre aspas.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Tags
Especifica uma cadeia de caracteres simples que você pode usar para classificar e filtrar mensagens que você adicionou ao fluxo de informações com Write-Information
. Esse parâmetro funciona de forma semelhante ao parâmetro Tags em New-ModuleManifest
.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Write-Information
aceita objetos canalizados para passar para o fluxo de informações.