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.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 "[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, $InformationPreference
poderá 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
Write-Information
aceita objetos encanados para passar para o fluxo de informações.