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
変数に保存します。
2 番目のコマンドでは、配列表記を使用して、 $Events
変数内の配列の最初の (0 インデックス) イベントを取得します。 このコマンドは、パイプライン演算子 (|
) を使用してイベントを Format-List
コマンドに送信し、イベントのすべてのプロパティを一覧に表示します。 これによって、イベント オブジェクトのプロパティを調べることができます。
3 番目のコマンドは、 Where-Object
コマンドレットを使用して、生成された時刻に基づいてイベントを取得する方法を示しています。
例 4: 識別子でイベントを取得する
PS C:\> Get-Event -EventIdentifier 2
このコマンドは、イベント識別子が 2 のイベントを取得します。
パラメーター
-EventIdentifier
このコマンドレットがイベントを取得するイベント識別子を指定します。
型: | Int32 |
Aliases: | Id |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-SourceIdentifier
このコマンドレットがイベントを取得するソース識別子を指定します。 既定では、イベント キュー内のすべてのイベントです。 ワイルドカードは使用できません。
型: | String |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、各イベントの PSEventArgs オブジェクトを返します。 このオブジェクトの説明を表示するには、「 Get-Help Get-Event -Full
」と入力し、ヘルプ トピックの「Notes」セクションを参照してください。
メモ
Linux または macOS プラットフォームで使用できるイベント ソースはありません。
イベント、イベント サブスクリプション、およびイベント キューは、現在のセッションにのみ存在します。 現在のセッションを閉じた場合、イベント キューが破棄され、イベント サブスクリプションが取り消されます。
Get-Event
コマンドレットは、次のプロパティを持つ PSEventArgs オブジェクト (System.Management.Automation.PSEventArgs) を返します。
ComputerName。 イベントが発生したコンピューターの名前。 このプロパティ値は、リモート コンピューターからイベントが転送された場合にのみ入力されます。
RunspaceId。 イベントが発生したセッションを一意に識別する GUID。 このプロパティ値は、リモート コンピューターからイベントが転送された場合にのみ入力されます。
EventIdentifier。 現在のセッションにおけるイベント通知を一意に識別する整数 (Int32)。
差し出し人。 イベントを生成したオブジェクト。 Action パラメーターの値には、
$Sender
自動変数に sender オブジェクトが含まれています。SourceEventArgs。 存在する場合は、EventArgs から派生した最初のパラメーター。 たとえば、シグネチャがオブジェクト送信者 ( Timers.ElapsedEventArgs e) のタイマー経過イベントでは、 SourceEventArgs プロパティには Timers.ElapsedEventArgs が含まれます。 Action パラメーターの値には、
$EventArgs
自動変数にこの値が含まれています。SourceArgs。 元のイベント署名のすべてのパラメーター。 標準イベントシグネチャの場合、
$Args[0]
は送信者を表し、$Args[1]
は SourceEventArgs を表します。 Action パラメーターの値には、$Args
自動変数にこの値が含まれています。SourceIdentifier。 イベント サブスクリプションを識別する文字列。 Action パラメーターの値には、
$Event
自動変数の SourceIdentifier プロパティにこの値が含まれています。TimeGenerated。 イベントが生成された時刻を表す DateTime オブジェクト。 Action パラメーターの値には、
$Event
自動変数の TimeGenerated プロパティにこの値が含まれています。MessageData。 イベント サブスクリプションに関連付けられているデータ。 ユーザーは、イベントを登録するときに、このデータを指定します。 Action パラメーターの値には、
$Event
自動変数の MessageData プロパティにこの値が含まれています。
関連リンク
PowerShell