Condividi tramite


Get-Error

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

Sintassi

Newest (impostazione predefinita).

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

Error

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

Descrizione

Il cmdlet Get-Error ottiene un oggetto PSExtendedError che rappresenta i dettagli correnti dell'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 cmdlet Get-Error 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 visualizza 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 più recente parametro . In questo esempio più recente 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 variabile automatica $Error 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 $Error viene inviato tramite pipe al cmdlet Get-Error. il risultato è un elenco di messaggi di errore dettagliati, simili al risultato dell'esempio 1.

$Error | Get-Error

Parametri

-InputObject

Questo parametro è utilizzato per l'input della pipeline.

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

Error
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Newest

Specifica il numero di errori da visualizzare nella sessione corrente.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Ultimo

Set di parametri

Newest
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSObject

È possibile passare 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.