Get-Error

Pobiera i wyświetla najnowsze komunikaty o błędach z bieżącej sesji.

Składnia

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

Opis

Polecenie Get-Error cmdlet pobiera obiekt PSExtendedError , który reprezentuje bieżące szczegóły błędu z ostatniego błędu, który wystąpił w sesji.

Można użyć Get-Error polecenia , aby wyświetlić określoną liczbę błędów, które wystąpiły w bieżącej sesji przy użyciu parametru Najnowszy .

Polecenie Get-Error cmdlet odbiera również obiekty błędów z kolekcji, takie jak $Error, w celu wyświetlenia wielu błędów z bieżącej sesji.

Przykłady

Przykład 1. Pobieranie najnowszych szczegółów błędu

W tym przykładzie Get-Error przedstawiono szczegóły ostatniego błędu, który wystąpił w bieżącej sesji.

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 :

Przykład 2. Pobieranie określonej liczby komunikatów o błędach, które wystąpiły w bieżącej sesji

W tym przykładzie pokazano, jak używać z Get-Error parametrem Najnowszy . W tym przykładzie Funkcja Najnowszy zwraca szczegóły 3 najnowszych błędów, które wystąpiły w tej sesji.

Get-Error -Newest 3

Przykład 3. Wysyłanie kolekcji błędów w celu odbierania szczegółowych komunikatów

Zmienna automatyczna $Error zawiera tablicę obiektów błędów w bieżącej sesji. Tablica obiektów może być potokowa, aby Get-Error otrzymywać szczegółowe komunikaty o błędach.

W tym przykładzie $ErrorGet-Error element jest potokowany do polecenia cmdlet . wynikiem są szczegółowe komunikaty o błędach podobne do wyniku przykładu 1.

$Error | Get-Error

Parametry

-InputObject

Ten parametr jest używany dla danych wejściowych potoku.

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

-Newest

Określa liczbę błędów do wyświetlenia, które wystąpiły w bieżącej sesji.

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

Dane wejściowe

PSObject

Możesz przekazać dowolny obiekt PSObject do tego polecenia cmdlet, ale wyniki różnią się, chyba że zostanie podany obiekt ErrorRecord lub Exception .

Dane wyjściowe

ErrorRecord

To polecenie cmdlet zwraca obiekt PSExtendedError .

Uwagi

Program PowerShell zawiera następujące aliasy dla programu Get-Error:

  • Wszystkie platformy:
    • gerr

Get-Error akceptuje dane wejściowe potoku. Na przykład $Error | Get-Error.