Udostępnij za pośrednictwem


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 cmdlet Get-Error 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, aby wyświetlić określoną liczbę błędów, które wystąpiły w bieżącej sesji przy użyciu parametru Najnowsze.

Polecenie cmdlet Get-Error 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 wyświetla 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ć Get-Error z parametrem Najnowszy. W tym przykładzie 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ć potokowana do Get-Error w celu odbierania szczegółowych komunikatów o błędach.

W tym przykładzie $Error jest potokowy do polecenia cmdlet Get-Error. 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.

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Newest

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

Typ:Int32
Aliasy:Last
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

PSObject

Do tego polecenia cmdlet można przekazać dowolne PSObject, ale wyniki różnią się, chyba że zostanie dostarczony obiekt ErrorRecord lub Wyjątek.

Dane wyjściowe

ErrorRecord

To polecenie cmdlet zwraca obiekt PSExtendedError.

Uwagi

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

  • Wszystkie platformy:
    • gerr

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