Поделиться через


Get-Error

Возвращает и отображает последние сообщения об ошибках из текущего сеанса.

Синтаксис

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

Описание

Командлет Get-Error получает объект PSExtendedError , представляющий текущие сведения об ошибке из последней ошибки, возниквшей в сеансе.

Можно использовать Get-Error для отображения указанного количества ошибок, произошедших в текущем сеансе, с помощью нового параметра.

Командлет Get-Error также получает объекты ошибок из коллекции, например $Errorдля отображения нескольких ошибок из текущего сеанса.

Примеры

Пример 1. Получение последних сведений об ошибке

В этом примере Get-Error отображаются сведения о последней ошибке, возникшую в текущем сеансе.

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 :

Пример 2. Получение указанного количества сообщений об ошибках, произошедших в текущем сеансе

В этом примере показано, как использовать Get-Error с параметром Newest . В этом примере Newest возвращает сведения о 3 последних ошибках, возникших в этом сеансе.

Get-Error -Newest 3

Пример 3. Отправка коллекции ошибок для получения подробных сообщений

Автоматическая $Error переменная содержит массив объектов ошибок в текущем сеансе. Массив объектов можно Get-Error передать для получения подробных сообщений об ошибках.

В этом примере $Error выполняется передача Get-Error в командлет. Результатом является список подробных сообщений об ошибках, аналогичных результату примера 1.

$Error | Get-Error

Параметры

-InputObject

Этот параметр используется для ввода конвейера.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Newest

Указывает количество ошибок, отображаемых в текущем сеансе.

Тип:Int32
Aliases:Last
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSObject

Вы можете передать любой PSObject в этот командлет, но результаты различаются, если не предоставлен объект ErrorRecord или Exception .

Выходные данные

ErrorRecord

Этот командлет возвращает объект PSExtendedError .

Примечания

PowerShell включает следующие псевдонимы для Get-Error:

  • Все платформы:
    • gerr

Get-Error принимает входные данные конвейера. Например, $Error | Get-Error.