次の方法で共有


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 プロパティにこの値が含まれています。