Получает события из очереди событий.
Синтаксис
Get-Event [-EventIdentifier] <int> [<CommonParameters>] Get-Event [[-SourceIdentifier] <string>] [<CommonParameters>]
Описание
Командлет Get-Event получает события из очереди событий Windows PowerShell текущего сеанса. Можно получить все события или воспользоваться параметром EventIdentifier или SourceIdentifier, чтобы задать конкретные события.
Когда событие происходит, оно добавляется в очередь событий. Очередь событий содержит события, на получение которых зарегистрирован пользователь, события, созданные с помощью командлета New-Event, а также события, возникающие при выходе из Windows PowerShell. Для получения этих событий служат командлеты Get-Event и Wait-Event.
Этот командлет не получает событий из журналов средства просмотра событий. Для получения этих событий служат командлеты Get-WinEvent и Get-EventLog.
Параметры
-EventIdentifier <int>
Получает только события с указанным идентификатором события.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-SourceIdentifier <string>
Получает только события с указанными идентификаторами источника. По умолчанию командлет получает все события в очереди событий. Подстановочные знаки запрещены.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
All events |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
None Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
System.Management.Automation.PSEventArgs Командлет Get-Event возвращает объект PSEventArgs для каждого события. Чтобы просмотреть описание этого объекта, введите "get-help get-event -full" и обратитесь к подразделу "Примечания" раздела справки. |
Примечания
События, подписки на события и очередь событий существуют только в рамках текущего сеанса. Если завершить текущий сеанс, очередь событий будет очищена и подписка на события будет отменена.
Командлет Get-Event возвращает объект PSEventArgs (System.Management.Automation.PSEventArgs) со следующими свойствами.
-- ComputerName: имя компьютера, на котором произошло событие. Это значение свойства заполняется, только когда событие передается с удаленного компьютера.
-- RunspaceId: GUID, однозначно идентифицирующий сеанс, в котором произошло событие. Это значение свойства заполняется, только когда событие передается с удаленного компьютера.
-- EventIdentifier: целое число (Int32), однозначно идентифицирующее уведомление о событии в текущем сеансе.
-- Sender: объект, создавший событие. В значении параметра Action объект отправителя содержится в автоматической переменной $Sender.
-- SourceEventArgs: первый параметр, который наследуется от EventArgs (если существует). Например, в событии, время которого истекло по таймеру, где сигнатура имеет форму "Object sender, Timers.ElapsedEventArgs e", свойство SourceEventArgs содержит Timers.ElapsedEventArgs. В значении параметра Action это значение содержится в автоматической переменной $SourceEventArgs.
-- SourceArgs: все параметры сигнатуры исходного события. Для стандартной сигнатуры события переменная $args[0] представляет отправителя, а переменная $args[1] — свойство SourceEventArgs. В значении параметра Action это значение содержится в автоматической переменной $SourceArgs.
-- SourceIdentifier: строка, идентифицирующая подписку на событие. В значении параметра Action это значение содержится в свойстве SourceIdentifier автоматической переменной $Event.
-- TimeGenerated: объект DateTime, представляющий время, когда было создано событие. В значении параметра Action это значение содержится в свойстве TimeGenerated автоматической переменной $Event.
--MessageData: данные, связанные с подпиской на событие. Пользователи указывают эти данные, когда они регистрируют событие. В значении параметра Action это значение содержится в свойстве MessageData автоматической переменной $Event.
Пример 1
C:\PS>get-event Описание ----------- Эта команда получает все события из очереди событий.
Пример 2
C:\PS>get-event -sourceIdentifier "PowerShell.ProcessCreated" Описание ----------- Эта команда получает события, у которых свойство SourceIdentifier имеет значение "PowerShell.ProcessCreated".
Пример 3
C:\PS>$events = get-event C:\PS> $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 : C:\PS> 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) из массива в перемененной $events. Команда с помощью оператора конвейера (|) передает событие командлету Format-List, который отображает все свойства события в виде списка. Это позволяет узнать свойства каждого объекта события. В третьей команде показано, как с помощью командлета Where-Object получить событие на основании времени его создания.
Пример 4
C:\PS>get-event -eventIdentifier 2 Описание ----------- Эта команда получает событие с идентификатором 2.
См. также