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

Синтаксис

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.






См. также