Write-Information

Especifica cómo PowerShell controla los datos del flujo de información de un comando.

Sintaxis

Default (valor predeterminado)

Write-Information
    [-MessageData] <Object>
    [[-Tags] <String[]>]
    [<CommonParameters>]

Description

El cmdlet Write-Information especifica cómo PowerShell controla los datos del flujo de información de un comando.

Windows PowerShell 5.0 presenta un flujo de información estructurado nuevo. Puede usar esta secuencia para transmitir datos estructurados entre un script y sus llamadores o la aplicación host. Write-Information permite agregar un mensaje informativo a la secuencia y especificar cómo PowerShell controla los datos del flujo de información para un comando. Los flujos de información también funcionan para PowerShell.Streams, trabajos y tareas programadas.

Nota:

La secuencia de información no sigue la convención estándar de prefijo de sus mensajes con "[Nombre de secuencia]:". Esto estaba pensado para la brevedad y la limpieza visual.

El valor de la variable de preferencia $InformationPreference determina si el mensaje que se proporciona a Write-Information se muestra en el punto esperado en la operación de un script. Dado que el valor predeterminado de esta variable es SilentlyContinue, de forma predeterminada, no se muestran los mensajes informativos. Si no desea cambiar el valor de $InformationPreference, puede invalidar su valor agregando el parámetro común InformationAction al comando. Para obtener más información, vea about_Preference_Variables y about_CommonParameters.

Nota:

A partir de Windows PowerShell 5.0, Write-Host es un contenedor para Write-Information Esto le permite usar Write-Host para emitir la salida al flujo de información. Esto permite la captura de o supresión de datos escritos mediante Write-Host a la vez que se conserva la compatibilidad con versiones anteriores. Para obtener más información, consulte Host de escritura

Write-Information también es una actividad de flujo de trabajo admitida en PowerShell 5.x.

Ejemplos

Ejemplo 1: Escribir información para obtener resultados

En este ejemplo, se muestra un mensaje informativo, "Got your features!", after running the Get-WindowsFeature command to find all features that have a Name value that starts with 'p'. Dado que la variable $InformationPreference sigue estando establecida en su valor predeterminado, SilentlyContinue, se agrega el parámetro InformationAction para invalidar el valor de $InformationPreference y se muestra el mensaje. El valor de InformationAction es Continue, lo que significa que se muestra el mensaje, pero el script o comando continúa, si aún no ha finalizado.

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!

Ejemplo 2: Escribir información y etiquetarla

En este ejemplo, usará Write-Information para que los usuarios sepan que tendrán que ejecutar otro comando después de que hayan terminado de ejecutar el comando actual. En el ejemplo se agrega la etiqueta Instructions al mensaje informativo. Después de ejecutar este comando, si busca en la secuencia de información los mensajes etiquetados instrucciones, el mensaje especificado aquí sería entre los 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.

Ejemplo 3: Escribir información en un archivo

En este ejemplo, redirige el flujo de información de la función a un Info.txt usando el código 6>. Cuando abras el Info.txt archivo, verás el texto "Aquí tienes".

function Test-Info
{
    Get-Process P*
    Write-Information "Here you go"
}
Test-Info 6> Info.txt

Ejemplo 4: Pasar un objeto para registrar información

En este ejemplo, puede usar Write-Information para escribir los 10 procesos de uso de CPU más altos desde la salida del objeto Get-Process que ha pasado a través de varias canalizaciones.

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 un mensaje informativo que desea mostrar a los usuarios a medida que ejecutan un script o un comando. Para obtener los mejores resultados, incluya el mensaje informativo entre comillas.

Propiedades de parámetro

Tipo:Object
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Msg, Mensaje

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Tags

Especifica una cadena simple que puede usar para ordenar y filtrar los mensajes que ha agregado al flujo de información con Write-Information. Este parámetro funciona de forma similar al parámetro de Etiquetas en New-ModuleManifest.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:1
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

Object

Write-Information Acepta objetos canalizados para pasar al flujo de información.

Salidas

InformationRecord