Поиск по сайту:

Get-Error (Microsoft.PowerShell.Utility)


Get-Error

Модуль:
Microsoft.PowerShell.Utility

Получает и отображает самые последние сообщения об ошибках текущего сеанса.

Синтаксис

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

Описание

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

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

Командлет 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 возвращает сведения о трех последних ошибках, произошедших в этом сеансе.

Get-Error -Newest 3

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

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

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

$Error | Get-Error

Параметры

-InputObject

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

Тип :

PSОбъект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Newest

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

Тип :

Int32

Псевдонимы:

Last

Позиция:

0

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

PSObject

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

Выходы

Запись ошибки

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

Примечания

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

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

      gerr

Get-Error принимает входные данные конвейера. Например, $Error | Получить-Ошибка.