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 estruturados. Você pode usar esse fluxo para transmitir dados estruturados entre um script e seus chamadores ou o aplicativo host. Write-Information permite adicionar uma mensagem informativa ao fluxo e especifica como o PowerShell lida com dados de fluxo de informações para um comando. Os fluxos de informações também funcionam para PowerShell.Streamstrabalhos e tarefas agendadas.

Observação

O fluxo de informações não segue a convenção padrão de prefixar suas mensagens com "[Nome do Fluxo]:". Isso se destinava à brevidade e limpeza visual.

O $InformationPreference valor da variável de preferência determina se a mensagem que Write-Information você fornece é 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, $InformationPreferencepoderá substituir seu valor adicionando o parâmetro comum InformationAction 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 que 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

Exemplos

Exemplo 1: gravar informações para obter resultados

Neste exemplo, você mostra uma mensagem informativa, "Processos começando com 'P'", antes de executar o Get-Process comando para localizar todos os processos que têm um valor de Nome que começa com 'p'. Como a $InformationPreference variável ainda está definida como padrão, SilentlyContinue, você adiciona o parâmetro InformationAction para substituir o $InformationPreference valor e mostrar a mensagem. O valor informationAction é Continuar, o que significa que sua mensagem é mostrada, mas o script ou comando continua, se ainda não estiver concluído.

Write-Information -MessageData "Processes starting with 'P'" -InformationAction Continue
Get-Process -Name p*

Processes starting with 'P'

     18    19.76      15.16       0.00    6232   0 PFERemediation
     20     8.92      25.15       0.00   24944   0 policyHost
      9     1.77       7.64       0.00    1780   0 powercfg
     10    26.67      32.18       0.00    7028   0 powercfg
      8    26.55      31.59       0.00   13600   0 powercfg
      9     1.66       7.55       0.00   22620   0 powercfg
     21     6.17       4.54     202.20   12536   1 PowerMgr
     42    84.26      12.71   2,488.84   20588   1 powershell
     27    47.07      45.38       2.05   25988   1 powershell
     27    24.45       5.31       0.00   12364   0 PresentationFontCache
     92   112.04      13.36      82.30   13176   1 pwsh
    106   163.73      93.21     302.25   14620   1 pwsh
    227   764.01      92.16   1,757.22   25328   1 pwsh

Exemplo 2: gravar informações e marcá-la

Neste exemplo, você usará 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 a marca "Instructions" à mensagem informativa. Depois de executar esse comando, quando você pesquisa o fluxo de informações em busca de mensagens marcadas "Instructions", a mensagem está nos resultados.

$message = "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet."
Get-Process -Name p*
Write-Information -MessageData $message -Tags "Instructions" -InformationAction Continue

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     18    19.76      15.16       0.00    6232   0 PFERemediation
     20     8.92      25.15       0.00   24944   0 policyHost
      9     1.77       7.64       0.00    1780   0 powercfg
     10    26.67      32.18       0.00    7028   0 powercfg
      8    26.55      31.59       0.00   13600   0 powercfg
      9     1.66       7.55       0.00   22620   0 powercfg
     21     6.17       4.54     202.20   12536   1 PowerMgr
     42    84.26      12.71   2,488.84   20588   1 powershell
     27    47.07      45.38       2.05   25988   1 powershell
     27    24.45       5.31       0.00   12364   0 PresentationFontCache
     92   112.04      13.36      82.30   13176   1 pwsh
    106   163.73      93.21     302.25   14620   1 pwsh
    227   764.01      92.16   1,757.22   25328   1 pwsh

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 Info.txt usar 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 escrever os 10 principais processos de utilização de CPU mais altos da Get-Process saída do objeto que passa 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

Object

Write-Information aceita objetos encanados para passar para o fluxo de informações.

Saídas

InformationRecord