Partager via


Get-Error

Obtient et affiche les messages d’erreur les plus récents de la session active.

Syntax

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

Description

L’applet Get-Error de commande obtient un objet PSExtendedError qui représente les détails d’erreur actuels de la dernière erreur qui s’est produite dans la session.

Vous pouvez utiliser Get-Error pour afficher un nombre spécifié d’erreurs qui se sont produites dans la session active à l’aide du paramètre Le plus récent.

L’applet Get-Error de commande reçoit également des objets d’erreur d’une collection, tels que $Error, pour afficher plusieurs erreurs de la session active.

Exemples

Exemple 1 : Obtenir les détails d’erreur les plus récents

Dans cet exemple, Get-Error affiche les détails de l’erreur la plus récente qui s’est produite dans la session active.

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 :

Exemple 2 : Obtenir le nombre spécifié de messages d’erreur qui se sont produits dans la session active

Cet exemple montre comment utiliser Get-Error avec le paramètre Le plus récent. Dans cet exemple, le plus récent retourne les détails des 3 erreurs les plus récentes qui se sont produites dans cette session.

Get-Error -Newest 3

Exemple 3 : Envoyer une collection d’erreurs pour recevoir des messages détaillés

La $Error variable automatique contient un tableau d’objets d’erreur dans la session active. Le tableau d’objets peut être redirigé pour Get-Error recevoir des messages d’erreur détaillés.

Dans cet exemple, $Error est redirigé vers l’applet Get-Error de commande. le résultat est la liste des messages d’erreur détaillés, similaires au résultat de l’exemple 1.

$Error | Get-Error

Paramètres

-InputObject

Ce paramètre est utilisé pour l’entrée de pipeline.

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

-Newest

Spécifie le nombre d’erreurs à afficher qui se sont produites dans la session active.

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

Entrées

PSObject

Vous pouvez diriger n’importe quel objet PSObject vers cette applet de commande, mais les résultats varient, sauf si un objet ErrorRecord ou Exception est fourni.

Sorties

ErrorRecord

Cette applet de commande retourne un objet PSExtendedError .

Notes

PowerShell inclut les alias suivants pour Get-Error:

  • Toutes les plateformes :
    • gerr

Get-Error accepte l’entrée de pipeline. Par exemple : $Error | Get-Error.