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, SilentlyContinuevocê 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

Object

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

Saídas

InformationRecord