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


Get-Event

Возвращает события в очереди событий.

Синтаксис

BySource (по умолчанию)

Get-Event
    [[-SourceIdentifier] <String>]
    [<CommonParameters>]

ById

Get-Event
    [-EventIdentifier] <Int32>
    [<CommonParameters>]

Описание

Командлет Get-Event получает события в очереди событий PowerShell для текущего сеанса. Вы можете получить все события или использовать параметр EventIdentifier или SourceIdentifier, чтобы указать события.

При возникновении события он добавляется в очередь событий. Очередь событий включает события, для которых вы зарегистрировали, события, созданные с помощью командлета New-Event, и событие, которое возникает при выходе PowerShell. Для получения событий можно использовать Get-Event или Wait-Event.

Этот командлет не получает события из журналов средства просмотра событий. Чтобы получить эти события, используйте Get-WinEvent или Get-EventLog.

Примеры

Пример 1. Получение всех событий

PS C:\> Get-Event

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

Пример 2. Получение событий по идентификатору источника

PS C:\> Get-Event -SourceIdentifier "PowerShell.ProcessCreated"

Эта команда получает события, в которых значение свойства SourceIdentifier — PowerShell.ProcessCreated.

Пример 3. Получение события на основе времени его создания

PS C:\> $Events = Get-Event
PS C:\> $Events[0] | Format-List -Property *
ComputerName     :
RunspaceId       : c2153740-256d-46c0-a57c-b805917d1b7b
EventIdentifier  : 1
Sender           : System.Management.ManagementEventWatcher
SourceEventArgs  : System.Management.EventArrivedEventArgs
SourceArgs       : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated    : 11/13/2008 12:09:32 PM
MessageData      : PS C:\> Get-Event | where {$_.TimeGenerated -ge "11/13/2008 12:15:00 PM"}
ComputerName     :
RunspaceId       : c2153740-256d-46c0-a57c-b8059325d1a0
EventIdentifier  : 1
Sender           : System.Management.ManagementEventWatcher
SourceEventArgs  : System.Management.EventArrivedEventArgs
SourceArgs       : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated    : 11/13/2008 12:15:00 PM
MessageData      :

В этом примере показано, как получить события с помощью свойств, отличных от SourceIdentifier.

Первая команда получает все события в очереди событий и сохраняет их в переменной $Events.

Вторая команда использует нотацию массива для получения первого события (0-index) в массиве в переменной $Events. Команда использует оператор конвейера (|) для отправки события в команду Format-List, которая отображает все свойства события в списке. Это позволяет изучить свойства объекта события.

Третья команда показывает, как использовать командлет Where-Object для получения события в зависимости от времени его создания.

Пример 4. Получение события по идентификатору

PS C:\> Get-Event -EventIdentifier 2

Эта команда получает событие с идентификатором события 2.

Параметры

-EventIdentifier

Указывает идентификаторы событий, для которых этот командлет получает события.

Свойства параметра

Тип:Int32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Идентификатор

Наборы параметров

ById
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-SourceIdentifier

Указывает идентификаторы источника, для которых этот командлет получает события. Значение по умолчанию — это все события в очереди событий. Подстановочные знаки запрещены.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

BySource
Position:0
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

Невозможно передать объекты в этот командлет.

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

PSEventArgs

Этот командлет возвращает объект PSEventArgs для каждого события. Чтобы просмотреть описание этого объекта, введите Get-Help Get-Event -Full и ознакомьтесь с разделом "Заметки" раздела справки.

Примечания

На платформах Linux или macOS нет источников событий.

События, подписки на события и очередь событий существуют только в текущем сеансе. При закрытии текущего сеанса очередь событий удаляется, а подписка на события отменяется.

Командлет Get-Event возвращает объект PSEventArgs (System.Management.Automation.PSEventArgs) со следующими свойствами:

  • Имя компьютера. имя компьютера, на котором произошло событие. Это значение свойства заполняется только в том случае, если событие пересылается с удаленного компьютера.

  • RunspaceId. GUID, однозначно определяющий сеанс, в котором произошло событие. Это значение свойства заполняется только в том случае, если событие пересылается с удаленного компьютера.

  • Идентификатор события. Целое число (Int32), однозначно определяющее уведомление о событии в текущем сеансе.

  • Отправитель. Объект, создающий событие. В значении параметра Action$Sender автоматическая переменная содержит объект отправителя.

  • ИсточникEventArgs. Первый параметр, производный от EventArgs, если он существует. Например, в событии таймера, в котором подпись содержит отправителя объекта формы, Timers.ElapsedEventArgs e, свойство SourceEventArgs будет содержать Timers.ElapsedEventArgs. В значении параметра Action$EventArgs автоматическая переменная содержит это значение.

  • ИсточникиArgs. Все параметры исходной подписи события. Для стандартной подписи события $args[0] представляет отправителя и $args[1] представляет SourceEventArgs. В значении параметра Action$args автоматическая переменная содержит это значение.

  • Идентификатор источника. Строка, идентифицирующая подписку на событие. В значении параметра Action свойство SourceIdentifier автоматической переменной $Event содержит это значение.

  • TimeGenerated. Объект DateTime, представляющий время создания события. В значении параметра Action свойство TimeGenerated автоматической переменной $Event содержит это значение.

  • MessageData. Данные, связанные с подпиской на события. Пользователи указывают эти данные при регистрации события. В значении параметра Action свойство MessageData автоматической переменной $Event содержит это значение.