Write-Error
Escribe un objeto en la secuencia de error.
Sintaxis
Write-Error -ErrorRecord <ErrorRecord> [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]
Write-Error [-Message] <string> [-Category {<NotSpecified> | <OpenError> | <CloseError> | <DeviceError> | <DeadlockDetected> | <InvalidArgument> | <InvalidData> | <InvalidOperation> | <InvalidResult> | <InvalidType> | <MetadataError> | <NotImplemented> | <NotInstalled> | <ObjectNotFound> | <OperationStopped> | <OperationTimeout> | <SyntaxError> | <ParserError> | <PermissionDenied> | <ResourceBusy> | <ResourceExists> | <ResourceUnavailable> | <ReadError> | <WriteError> | <FromStdErr> | <SecurityError>}] [-ErrorId <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]
Write-Error -Exception <Exception> [-Category {<NotSpecified> | <OpenError> | <CloseError> | <DeviceError> | <DeadlockDetected> | <InvalidArgument> | <InvalidData> | <InvalidOperation> | <InvalidResult> | <InvalidType> | <MetadataError> | <NotImplemented> | <NotInstalled> | <ObjectNotFound> | <OperationStopped> | <OperationTimeout> | <SyntaxError> | <ParserError> | <PermissionDenied> | <ResourceBusy> | <ResourceExists> | <ResourceUnavailable> | <ReadError> | <WriteError> | <FromStdErr> | <SecurityError>}] [-ErrorId <string>] [-Message <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]
Descripción
El cmdlet Write-Error escribe un error en la secuencia de error de Windows PowerShell. De forma predeterminada, los errores se envían al programa host para que se muestren junto con los resultados.
Puede escribir un error enviando una cadena de mensaje de error, un objeto ErrorRecord o un objeto Exception.Utilice los demás parámetros de Write-Error para rellenar el registro de errores.
Parámetros
-Category <ErrorCategory>
Especifica la categoría del error. El valor predeterminado es NotSpecified.
Para obtener más información sobre las categorías de error, vea el tema sobre la enumeración ErrorCategory en MSDN (Microsoft Developer Network) Library, en https://go.microsoft.com/fwlink/?LinkId=143600 (puede estar en inglés).
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
NotSpecified |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-CategoryActivity <string>
Describe la acción que produjo el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-CategoryReason <string>
Explica cómo o por qué la actividad produjo el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-CategoryTargetName <string>
Especifica el nombre del objeto que se procesaba cuando se produjo el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-CategoryTargetType <string>
Especifica el tipo .NET del objeto que se procesaba cuando se produjo el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-ErrorId <string>
Especifica una cadena de identificador que identifica el error. La cadena debe ser única para el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-ErrorRecord <ErrorRecord>
Especifica un objeto de registro de error que incluye propiedades que describen el error.
Para obtener un objeto de registro de error, utilice el cmdlet New-Object o tome un objeto de registro de error de la matriz en la variable automática $Error.
¿Requerido? |
true |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Exception <Exception>
Especifica una excepción que representa el error.
Puede utilizar una excepción en lugar de especificar un texto de mensaje o un registro de excepción.
¿Requerido? |
true |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Message <string>
Especifica el texto del mensaje de error. Si el texto incluye espacios o caracteres especiales, escríbalo entre comillas. También puede canalizar una cadena de mensaje a Write-Error.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
true (ByValue) |
¿Aceptar caracteres comodín? |
false |
-RecommendedAction <string>
Describe la acción que el usuario debe emprender para resolver o evitar el error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-TargetObject <Object>
Especifica el objeto que se procesaba cuando se produjo el error. Escriba el objeto (por ejemplo, una cadena), una variable que contenga el objeto o un comando que lo obtenga.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Puede canalizar a Write-Error una cadena que contiene un mensaje de error. |
Salidas |
Error object Write-Error escribe únicamente en la secuencia de error. No devuelve ningún objeto. |
Ejemplo 1
C:\PS>get-childitem | foreach-object { if ($_.gettype().tostring() -eq "Microsoft.Win32.RegistryKey") {write-error "Out-of-band object" -errorID B1 -targetobject $_ } else {$_ } }
Descripción
-----------
Este comando escribe un error cuando el cmdlet Get-ChildItem devuelve un objeto Microsoft.Win32.RegistryKey, como los objetos en la unidad HKLM: o HKCU del proveedor Registry de Windows PowerShell.
Ejemplo 2
C:\PS>write-error "Access denied."
Descripción
-----------
Este comando escribe un error de acceso denegado. El comando utiliza el parámetro Message para especificar el mensaje, pero omite el nombre del parámetro opcional Message.
Ejemplo 3
C:\PS>write-error -message "Error: Too many input values." -category InvalidArgument
Descripción
-----------
Este comando escribe un error y especifica una categoría de error.
Vea también
Conceptos
Write-Debug
Write-Verbose
Write-Output
Write-Host
Write-Progress
Write-Warning