Get-Error

Obtiene y muestra los mensajes de error más recientes de la sesión actual.

Syntax

Get-Error
   [[-Newest] <Int32>]
   [<CommonParameters>]
Get-Error
   [-InputObject <PSObject>]
   [<CommonParameters>]

Description

El Get-Error cmdlet obtiene un objeto PSExtendedError que representa los detalles del error actual del último error que se produjo en la sesión.

Puede usar Get-Error para mostrar un número especificado de errores que se han producido en la sesión actual mediante el parámetro Más reciente .

El Get-Error cmdlet también recibe objetos de error de una colección, como $Error, para mostrar varios errores de la sesión actual.

Ejemplos

Ejemplo 1: Obtención de los detalles de error más recientes

En este ejemplo, Get-Error muestra los detalles del error más reciente que se produjo en la sesión actual.

Get-Childitem -path /NoRealDirectory
Get-Error

Get-ChildItem: Cannot find path 'C:\NoRealDirectory' because it does not exist.

Exception             :
    ErrorRecord          :
        Exception             :
            Message : Cannot find path 'C:\NoRealDirectory' because it does not exist.
            HResult : -2146233087
        TargetObject          : C:\NoRealDirectory
        CategoryInfo          : ObjectNotFound: (C:\NoRealDirectory:String) [], ParentContainsErrorRecordException
        FullyQualifiedErrorId : PathNotFound
    ItemName             : C:\NoRealDirectory
    SessionStateCategory : Drive
    TargetSite           :
        Name          : GetChildItems
        DeclaringType : System.Management.Automation.SessionStateInternal
        MemberType    : Method
        Module        : System.Management.Automation.dll
    StackTrace           :
   at System.Management.Automation.SessionStateInternal.GetChildItems(String path, Boolean recurse, UInt32 depth,
CmdletProviderContext context)
   at System.Management.Automation.ChildItemCmdletProviderIntrinsics.Get(String path, Boolean recurse, UInt32
depth, CmdletProviderContext context)
   at Microsoft.PowerShell.Commands.GetChildItemCommand.ProcessRecord()
    Message              : Cannot find path 'C:\NoRealDirectory' because it does not exist.
    Source               : System.Management.Automation
    HResult              : -2146233087
TargetObject          : C:\NoRealDirectory
CategoryInfo          : ObjectNotFound: (C:\NoRealDirectory:String) [Get-ChildItem], ItemNotFoundException
FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
InvocationInfo        :
    MyCommand        : Get-ChildItem
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 57
    Line             : Get-Childitem -path c:\NoRealDirectory
    PositionMessage  : At line:1 char:1
                       + Get-Childitem -path c:\NoRealDirectory
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Get-Childitem
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo :

Ejemplo 2: Obtener el número especificado de mensajes de error que se produjeron en la sesión actual

En este ejemplo se muestra cómo usar Get-Error con el parámetro Más reciente . En este ejemplo, Newest devuelve los detalles de los tres errores más recientes que se produjeron en esta sesión.

Get-Error -Newest 3

Ejemplo 3: Envío de una colección de errores para recibir mensajes detallados

La $Error variable automática contiene una matriz de objetos de error en la sesión actual. La matriz de objetos se puede canalizar para Get-Error recibir mensajes de error detallados.

En este ejemplo, $Error se canaliza al Get-Error cmdlet . el resultado es una lista de mensajes de error detallados, similar al resultado del ejemplo 1.

$Error | Get-Error

Parámetros

-InputObject

Este parámetro se usa para la entrada de canalización.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Newest

Especifica el número de errores que se van a mostrar que se han producido en la sesión actual.

Type:Int32
Aliases:Last
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSObject

Puede canalizar cualquier PSObject a este cmdlet, pero los resultados varían a menos que se proporcione un objeto ErrorRecord o Exception .

Salidas

ErrorRecord

Este cmdlet devuelve un objeto PSExtendedError .

Notas

PowerShell incluye los siguientes alias para Get-Error:

  • Todas las plataformas:
    • gerr

Get-Error acepta la entrada de canalización. Por ejemplo, $Error | Get-Error.