次の方法で共有


Get-Event

イベント キュー内のイベントを取得します。

構文

Get-Event
   [[-SourceIdentifier] <String>]
   [<CommonParameters>]
Get-Event
   [-EventIdentifier] <Int32>
   [<CommonParameters>]

説明

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

イベントが発生すると、イベント キューに追加されます。 イベント キューには、登録したイベント、New-Event コマンドレットを使用して作成されたイベント、および Windows 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-index) イベントを取得します。 このコマンドでは、パイプライン演算子 (|) を使用してイベントを 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-Event は、イベントごとに PSEventArgs オブジェクトを返します。 このオブジェクトの説明を表示するには、「Get-Help Get-Event -Full」と入力し、ヘルプ トピックの「Notes」セクションを参照してください。

メモ

  • イベント、イベント サブスクリプション、およびイベント キューは、現在のセッションにのみ存在します。 現在のセッションを閉じると、イベント キューは破棄され、イベント サブスクリプションは取り消されます。

    Get-Event コマンドレットは、次のプロパティを持つ PSEventArgs オブジェクト (System.Management.Automation.PSEventArgs) を返します。

    • ComputerName。 イベントが発生したコンピューターの名前。 このプロパティ値は、イベントがリモート コンピューターから転送された場合にのみ設定されます。

    • RunspaceId。 イベントが発生したセッションを一意に識別する GUID。 このプロパティ値は、イベントがリモート コンピューターから転送された場合にのみ設定されます。

    • EventIdentifier。 現在のセッションのイベント通知を一意に識別する整数 (Int32)。

    • 差し出し人。 イベントを生成したオブジェクト。 Action パラメータの値には、$Sender 自動変数に送信者オブジェクトが含まれます。

    • SourceEventArgs。 EventArgs から派生する最初のパラメーター (存在する場合)。 たとえば、署名の形式が Object sender, 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 プロパティにこの値が含まれています。