Get-Event

Получает события из очереди событий.

Синтаксис

Get-Event
   [[-SourceIdentifier] <String>]
   [<CommonParameters>]
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

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

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

-SourceIdentifier

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

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

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

None

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

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

PSEventArgs

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

Примечания

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

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

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

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

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

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

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

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

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

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

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

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