PowerShell
PowerShell "Streams"; Depuración, detallado, advertencia, error, salida e información
Buscar..
Observaciones
Escritura-salida
Write-Output
genera salida. Esta salida puede ir al siguiente comando después de la canalización o a la consola, por lo que simplemente se muestra.
El cmdlet envía objetos a la tubería principal, también conocida como "flujo de salida" o "canalización exitosa". Para enviar objetos de error por la tubería de error, use Write-Error.
# 1.) Output to the next Cmdlet in the pipeline
Write-Output 'My text' | Out-File -FilePath "$env:TEMP\Test.txt"
Write-Output 'Bob' | ForEach-Object {
"My name is $_"
}
# 2.) Output to the console since Write-Output is the last command in the pipeline
Write-Output 'Hello world'
# 3.) 'Write-Output' CmdLet missing, but the output is still considered to be 'Write-Output'
'Hello world'
- El cmdlet Write-Output envía el objeto especificado por la tubería al siguiente comando.
- Si el comando es el último comando en la canalización, el objeto se muestra en la consola.
- El intérprete de PowerShell trata esto como una salida-escritura implícita.
Debido a que el comportamiento predeterminado de Write-Output
es mostrar los objetos al final de una canalización, generalmente no es necesario usar el Cmdlet. Por ejemplo, Get-Process | Write-Output
es equivalente a Get-Process
.
Preferencias de escritura
Los mensajes se pueden escribir con;
Write-Verbose "Detailed Message"
Write-Information "Information Message"
Write-Debug "Debug Message"
Write-Progress "Progress Message"
Write-Warning "Warning Message"
Cada uno de estos tiene una variable de preferencia;
$VerbosePreference = "SilentlyContinue"
$InformationPreference = "SilentlyContinue"
$DebugPreference = "SilentlyContinue"
$ProgressPreference = "Continue"
$WarningPreference = "Continue"
La variable de preferencia controla cómo se manejan el mensaje y la ejecución posterior del script;
$InformationPreference = "SilentlyContinue"
Write-Information "This message will not be shown and execution continues"
$InformationPreference = "Continue"
Write-Information "This message is shown and execution continues"
$InformationPreference = "Inquire"
Write-Information "This message is shown and execution will optionally continue"
$InformationPreference = "Stop"
Write-Information "This message is shown and execution terminates"
El color de los mensajes se puede controlar para Write-Error
configurando;
$host.PrivateData.ErrorBackgroundColor = "Black"
$host.PrivateData.ErrorForegroundColor = "Red"
Configuraciones similares están disponibles para Write-Verbose
, Write-Debug
y Write-Warning
.