次の方法で共有


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

このコマンドレットは、各イベントの 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 プロパティにこの値が含まれています。