Partilhar via


Get-Error

Obtém e exibe as mensagens de erro mais recentes da sessão atual.

Sintaxe

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

Description

O Get-Error cmdlet obtém um objeto PSExtendedError que representa os detalhes do erro atual do último erro ocorrido na sessão.

Você pode usar Get-Error para exibir um número especificado de erros que ocorreram na sessão atual usando o parâmetro Mais recente .

O Get-Error cmdlet também recebe objetos de erro de uma coleção, como $Error, para exibir vários erros da sessão atual.

Exemplos

Exemplo 1: Obter os detalhes de erro mais recentes

Neste exemplo, Get-Error exibe os detalhes do erro mais recente que ocorreu na sessão atual.

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 :

Exemplo 2: Obter o número especificado de mensagens de erro que ocorreram na sessão atual

Este exemplo mostra como usar Get-Error com o parâmetro Newer . Neste exemplo, Newest retorna os detalhes dos 3 erros mais recentes que ocorreram nesta sessão.

Get-Error -Newest 3

Exemplo 3: Enviar uma coleção de erros para receber mensagens detalhadas

A $Error variável automática contém uma matriz de objetos de erro na sessão atual. A matriz de objetos pode ser canalizada para Get-Error receber mensagens de erro detalhadas.

Neste exemplo, $Error é canalizado para o Get-Error cmdlet. o resultado é uma lista de mensagens de erro detalhadas, semelhante ao resultado do Exemplo 1.

$Error | Get-Error

Parâmetros

-InputObject

Este parâmetro é usado para entrada de pipeline.

Tipo:PSObject
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Newest

Especifica o número de erros a serem exibidos que ocorreram na sessão atual.

Tipo:Int32
Aliases:Last
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

PSObject

Você pode canalizar qualquer PSObject para esse cmdlet, mas os resultados variam, a menos que um objeto ErrorRecord ou Exception seja fornecido.

Saídas

ErrorRecord

Este cmdlet retorna um objeto PSExtendedError .

Notas

O PowerShell inclui os seguintes aliases para Get-Error:

  • Todas as plataformas:
    • gerr

Get-Error aceita entrada de pipeline. Por exemplo, $Error | Get-Error.