Get-Event (Microsoft.PowerShell.Utility)
Get-Event
- Модуль:
- Microsoft.PowerShell.Utility
Получает события в очереди событий.
Синтаксис
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) в массиве в переменной $Events. Команда использует оператор конвейера (|) для отправки события команде Format-List, которая отображает все свойства события в списке. Это позволяет вам изучить свойства объекта события.
Третья команда показывает, как использовать командлет Where-Object для получения события на основе времени его создания.
Пример 4. Получить событие по его идентификатору
PS C:\> Get-Event -EventIdentifier 2Эта команда получает событие с идентификатором события 2.
Параметры
-EventIdentifier
Указывает идентификаторы событий, для которых этот командлет получает события.
- Тип :
Int32
- Псевдонимы:
Id
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-SourceIdentifier
Указывает идентификаторы источников, для которых этот командлет получает события. По умолчанию — все события в очереди событий. Подстановочные знаки не допускаются.
- Тип :
String
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
Входы
Нет
Вы не можете передавать объекты в этот командлет.
Выходы
PSEventArgs
Этот командлет возвращает объект PSEventArgs для каждого события. Чтобы просмотреть описание этого объекта, введите Get-Help Get-Event -Full и просмотрите раздел «Примечания» раздела справки.
Примечания
На платформах Linux или macOS нет источников событий.
События, подписки на события и очередь событий существуют только в текущем сеансе. Если вы закроете текущий сеанс, очередь событий будет удалена, а подписка на события будет отменена.
Командлет Get-Event возвращает объект PSEventArgs (System.Management.Automation.PSEventArgs) со следующими свойствами:
ИмяКомпьютера. Имя компьютера, на котором произошло событие. Значение этого свойства заполняется только тогда, когда событие пересылается с удаленного компьютера.
Ид пространства выполнения. GUID, однозначно идентифицирующий сеанс, в котором произошло событие. Значение этого свойства заполняется только тогда, когда событие пересылается с удаленного компьютера.
Идентификатор события. Целое число (Int32), которое однозначно идентифицирует уведомление о событии в текущем сеансе.
Отправитель. Объект, создавший событие. В значении параметра Action автоматическая переменная
$Senderсодержит объект отправителя.Саурсэвентаргс. Первый параметр, производный от EventArgs, если он существует. Например, в событии с истекшим таймером, в котором подпись имеет форму Отправитель объекта, Timers.ElapsedEventArgs e, свойство SourceEventArgs будет содержать Timers.ElapsedEventArgs. Это значение содержится в значении параметра Action в автоматической переменной
$EventArgs.ИсточникАргс. Все параметры исходной сигнатуры события. Для стандартной подписи события
$Args[0]представляет отправителя, а$Args[1]представляет SourceEventArgs. Это значение содержится в значении параметра Action в автоматической переменной$Args.Идентификатор источника. Строка, идентифицирующая подписку на событие. Это значение содержится в значении параметра Action в свойстве SourceIdentifier автоматической переменной
$Event.ВремяСгенерировано. Объект DateTime, представляющий время создания события. Это значение содержится в значении параметра Action в свойстве TimeGenerated автоматической переменной
$Event.Данные сообщения. Данные, связанные с подпиской на событие. Пользователи указывают эти данные при регистрации события. Это значение содержится в значении параметра Action в свойстве MessageData автоматической переменной
$Event.