Write-Information
Especifica cómo Windows PowerShell controla los datos de flujo de información de un comando.
Syntax
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
El Write-Information
cmdlet especifica cómo Windows PowerShell controla los datos del flujo de información de un comando.
Windows PowerShell 5.0 presenta un flujo de información estructurado nuevo (número 6 en Windows PowerShell secuencias) que puede usar para transmitir datos estructurados entre un script y sus llamadores (o entorno de hospedaje).
Write-Information
permite agregar un mensaje informativo a la secuencia y especificar cómo Windows PowerShell controla los datos del flujo de información de un comando. Los flujos de información también funcionan para PowerShell.Streams
, trabajos, trabajos programados y flujos de trabajo.
Nota
El flujo de información no sigue la convención estándar de prefijar sus mensajes con "[Stream Nombre]:". Esto fue diseñado para la brevedad y la limpieza visual.
El $InformationPreference
valor de la variable de preferencia determina si el mensaje que se proporciona 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 InformationAction
parámetro común al comando.
Para obtener más información, consulte 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 capturar osuprimir los datos escritos mediante Write-Host
, a la vez que se conserva la compatibilidad con versiones anteriores.
para obtener más información, consulte Write-Host.
Write-Information
también es una actividad de flujo de trabajo compatible.
Ejemplos
Ejemplo 1: Escribir información para obtener resultados
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!
En este ejemplo, se muestra un mensaje informativo, "Got your features!", después de ejecutar el Get-WindowsFeature
comando para buscar todas las características que tienen un valor Name que comienza por "p".
Dado que la $InformationPreference
variable sigue establecida en su valor predeterminado, SilentlyContinue
, se agrega el InformationAction
parámetro para invalidar el $InformationPreference
valor y se muestra el mensaje.
El InformationAction
valor es Continue, lo que significa que se muestra el mensaje, pero el script o el comando continúa, si aún no está terminado.
Ejemplo 2: Escribir información y etiquetarla
Get-WindowsFeature -Name p*; Write-Information -MessageData "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet." -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.
En este ejemplo, se usa Write-Information
para que los usuarios sepan que tendrán que ejecutar otro comando después de que terminen 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 el flujo de información los mensajes etiquetados como Instrucciones, el mensaje especificado aquí estaría entre los resultados.
Ejemplo 3: Escribir información en un archivo
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
En este ejemplo, se redirige el flujo de información de la función a un archivo, Info.txt, mediante el código 6>. Al abrir el archivo Info.txt, verá el texto "Aquí va".
Parámetros
-MessageData
Especifica un mensaje informativo que desea mostrar a los usuarios a medida que ejecutan un script o un comando. Para obtener mejores resultados, incluya el mensaje informativo entre comillas. Un ejemplo es "Prueba completa".
Type: | Object |
Aliases: | Msg |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Tags de New-ModuleManifest
.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Write-Information
no acepta entradas canaladas.