Condividi tramite


Get-Error

Ottiene e visualizza i messaggi di errore più recenti dalla sessione corrente.

Sintassi

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

Descrizione

Il Get-Error cmdlet ottiene un oggetto PSExtendedError che rappresenta i dettagli dell'errore corrente dall'ultimo errore che si è verificato nella sessione.

È possibile utilizzare Get-Error per visualizzare un numero specificato di errori che si sono verificati nella sessione corrente usando il parametro Più recente .

Il Get-Error cmdlet riceve anche oggetti di errore da una raccolta, ad esempio $Error, per visualizzare più errori dalla sessione corrente.

Esempio

Esempio 1: Ottenere i dettagli dell'errore più recenti

In questo esempio Get-Error vengono visualizzati i dettagli dell'errore più recente che si è verificato nella sessione corrente.

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 :

Esempio 2: Ottenere il numero specificato di messaggi di errore che si sono verificati nella sessione corrente

In questo esempio viene illustrato come usare Get-Error con il parametro Newest . In questo esempio, Newest restituisce i dettagli dei 3 errori più recenti che si sono verificati in questa sessione.

Get-Error -Newest 3

Esempio 3: Inviare una raccolta di errori per ricevere messaggi dettagliati

La $Error variabile automatica contiene una matrice di oggetti errore nella sessione corrente. La matrice di oggetti può essere inviata tramite pipe a Get-Error per ricevere messaggi di errore dettagliati.

In questo esempio viene $Error inviata tramite pipe al Get-Error cmdlet . il risultato è un elenco di messaggi di errore dettagliati, simili al risultato dell'esempio 1.

$Error | Get-Error

Parametri

-InputObject

Questo parametro viene usato per l'input della pipeline.

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Newest

Specifica il numero di errori da visualizzare nella sessione corrente.

Tipo:Int32
Alias:Last
Posizione:0
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSObject

È possibile inviare tramite pipe qualsiasi PSObject a questo cmdlet, ma i risultati variano a meno che non venga fornito un oggetto ErrorRecord o Exception .

Output

ErrorRecord

Questo cmdlet restituisce un oggetto PSExtendedError .

Note

PowerShell include gli alias seguenti per Get-Error:

  • Tutte le piattaforme:
    • gerr

Get-Error accetta l'input della pipeline. Ad esempio: $Error | Get-Error.