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
Указывает идентификаторы событий, для которых этот командлет получает события.
Тип: | Int32 |
Aliases: | Id |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-SourceIdentifier
Указывает идентификаторы источника, для которых этот командлет получает события. По умолчанию командлет получает все события в очереди. Использовать подстановочные знаки запрещено.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект PSEventArgs для каждого события. Чтобы просмотреть описание этого объекта, введите Get-Help Get-Event -Full
и ознакомьтесь с разделом "Заметки" раздела справки.
Примечания
События, подписки на события и очередь событий существуют только в текущем сеансе. Если закрыть текущий сеанс, очередь событий удаляется, а подписка на событие отменяется.
Командлет Get-Event
возвращает объект PSEventArgs (System.Management.Automation.PSEventArgs) со следующими свойствами:
Имя компьютера. имя компьютера, на котором произошло событие. Значение этого свойства заполняется только в том случае, если событие передается с удаленного компьютера.
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
содержит это значение.
Связанные ссылки
PowerShell