イベント キューからイベントを取得します。

構文

Get-Event [-EventIdentifier] <int> [<CommonParameters>]

Get-Event [[-SourceIdentifier] <string>] [<CommonParameters>]

説明

Get-Event コマンドレットは、現在のセッションの Windows PowerShell イベント キューからイベントを取得します。すべてのイベントを取得することもできますが、取得するイベントを EventIdentifier または SourceIdentifier パラメーターで指定することもできます。

発生したイベントはイベント キューに追加されます。イベント キューには、登録済みのイベント、New-Event コマンドレットを使用して作成したイベント、および Windows PowerShell の終了時に生成されるイベントが含まれています。Get-Event または Wait-Event を使用するとイベントを取得できます。

このコマンドレットは Event Viewer ログのイベントは取得しません。それらのイベントを取得する場合は 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.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

なし

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

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 自動変数が sender オブジェクトを保持します。

-- SourceEventArgs: EventArgs から派生した第 1 パラメーター (存在する場合)。たとえば、タイマー経過イベントは、"Object sender, Timers.ElapsedEventArgs e" 形式のシグネチャを持つため、SourceEventArgs プロパティに Timers.ElapsedEventArgs が格納されます。Action パラメーターの値では、$SourceEventArgs 自動変数がこの値を保持します。

-- SourceArgs: 元のイベント シグネチャのすべてのパラメーター。標準的なイベント シグネチャの場合、$args[0] は sender を表し、$args[1] は SourceEventArgs を表します。Action パラメーターの値では、$SourceArgs 自動変数がこの値を保持します。

-- SourceIdentifier: イベント サブスクリプションを識別する文字列。Action パラメーターの値では、$Event 自動変数の SourceIdentifier プロパティがこの値を保持します。

-- TimeGenerated: イベントが生成された時間を表す DateTime オブジェクト。Action パラメーターの値では、$Event 自動変数の TimeGenerated プロパティがこの値を保持します。

--MessageData: イベント サブスクリプションに関連付けられているデータ。このデータは、ユーザーがイベントを登録する際に指定します。Action パラメーターの値では、$Event 自動変数の MessageData プロパティがこの値を保持します。

例 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 変数に保存します。

2 番目のコマンドは、配列表記を使用して $events 変数内の配列の最初 (0 インデックス) のイベントを取得します。イベントはパイプライン演算子 (|) 経由で Format-List コマンドに送信され、これによってイベントのすべてのプロパティが一覧表示されます。この方法でイベント オブジェクトのプロパティを調べることができます。

3 番目のコマンドは、Where-Object コマンドレットを使用してイベントを取得する方法を示しています。
この例ではイベントの生成時刻に基づいています。






例 4

C:\PS>get-event -eventIdentifier 2

説明
-----------
このコマンドは、イベント識別子が 2 のイベントを取得します。






関連項目




目次