Get-Event

Pobiera zdarzenia w kolejce zdarzeń.

Składnia

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

Opis

Polecenie Get-Event cmdlet pobiera zdarzenia w kolejce zdarzeń programu PowerShell dla bieżącej sesji. Możesz pobrać wszystkie zdarzenia lub użyć parametru EventIdentifier lub SourceIdentifier, aby określić zdarzenia.

Gdy wystąpi zdarzenie, zostanie ono dodane do kolejki zdarzeń. Kolejka zdarzeń zawiera zdarzenia, dla których zarejestrowano, zdarzenia utworzone za pomocą New-Event polecenia cmdlet oraz zdarzenie zgłaszane podczas zamykania programu PowerShell. Możesz użyć Get-Event polecenia lub Wait-Event , aby pobrać zdarzenia.

To polecenie cmdlet nie pobiera zdarzeń z dzienników Podgląd zdarzeń. Aby pobrać te zdarzenia, użyj polecenia Get-WinEvent lub Get-EventLog.

Przykłady

Przykład 1. Pobieranie wszystkich zdarzeń

PS C:\> Get-Event

To polecenie pobiera wszystkie zdarzenia w kolejce zdarzeń.

Przykład 2. Pobieranie zdarzeń według identyfikatora źródła

PS C:\> Get-Event -SourceIdentifier "PowerShell.ProcessCreated"

To polecenie pobiera zdarzenia, w których wartość właściwości SourceIdentifier to PowerShell.ProcessCreated.

Przykład 3. Pobieranie zdarzenia na podstawie czasu jego wygenerowania

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      :

W tym przykładzie pokazano, jak pobierać zdarzenia przy użyciu właściwości innych niż SourceIdentifier.

Pierwsze polecenie pobiera wszystkie zdarzenia w kolejce zdarzeń i zapisuje je w zmiennej $Events .

Drugie polecenie używa notacji tablicy, aby uzyskać pierwsze (0-indeks) zdarzenie w tablicy w zmiennej $Events . Polecenie używa operatora potoku (|), aby wysłać zdarzenie do Format-List polecenia, które wyświetla wszystkie właściwości zdarzenia na liście. Dzięki temu można sprawdzić właściwości obiektu zdarzenia.

Trzecie polecenie pokazuje, jak użyć Where-Object polecenia cmdlet, aby uzyskać zdarzenie na podstawie czasu wygenerowania.

Przykład 4. Pobieranie zdarzenia według jego identyfikatora

PS C:\> Get-Event -EventIdentifier 2

To polecenie pobiera zdarzenie z identyfikatorem zdarzenia 2.

Parametry

-EventIdentifier

Określa identyfikatory zdarzeń, dla których to polecenie cmdlet pobiera zdarzenia.

Type:Int32
Aliases:Id
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SourceIdentifier

Określa identyfikatory źródłowe, dla których to polecenie cmdlet pobiera zdarzenia. Wartość domyślna to wszystkie zdarzenia w kolejce zdarzeń. Symbole wieloznaczne nie są dozwolone.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

PSEventArgs

To polecenie cmdlet zwraca obiekt PSEventArgs dla każdego zdarzenia. Aby wyświetlić opis tego obiektu, wpisz Get-Help Get-Event -Full i zobacz sekcję Uwagi w temacie pomocy.

Uwagi

Brak źródeł zdarzeń dostępnych na platformach Linux lub macOS.

Zdarzenia, subskrypcje zdarzeń i kolejka zdarzeń istnieją tylko w bieżącej sesji. Jeśli zamkniesz bieżącą sesję, kolejka zdarzeń zostanie odrzucona i subskrypcja zdarzeń zostanie anulowana.

Polecenie Get-Event cmdlet zwraca obiekt PSEventArgs (System.Management.Automation.PSEventArgs) z następującymi właściwościami:

  • Nazwa_komputera. Nazwa komputera, na którym wystąpiło zdarzenie. Ta wartość właściwości jest wypełniana tylko wtedy, gdy zdarzenie jest przekazywane z komputera zdalnego.

  • RunspaceId. Identyfikator GUID, który jednoznacznie identyfikuje sesję, w której wystąpiło zdarzenie. Ta wartość właściwości jest wypełniana tylko wtedy, gdy zdarzenie jest przekazywane z komputera zdalnego.

  • EventIdentifier. Liczba całkowita (Int32), która jednoznacznie identyfikuje powiadomienie o zdarzeniu w bieżącej sesji.

  • Nadawcy. Obiekt, który wygenerował zdarzenie. W wartości parametru Akcja zmienna $Sender automatyczna zawiera obiekt nadawcy.

  • SourceEventArgs. Pierwszy parametr pochodzący z klasy EventArgs, jeśli istnieje. Na przykład w przypadku zdarzenia, w którym upłynął czasomierz, w którym podpis ma postać Nadawca obiektów Timers.ElapsedEventArgs e, właściwość SourceEventArgs będzie zawierać timers.ElapsedEventArgs. W wartości parametru Akcja zmienna automatyczna $EventArgs zawiera tę wartość.

  • SourceArgs. Wszystkie parametry oryginalnego podpisu zdarzenia. W przypadku standardowego podpisu $Args[0] zdarzenia reprezentuje nadawcę i $Args[1] reprezentuje element SourceEventArgs. W wartości parametru Akcja zmienna automatyczna $Args zawiera tę wartość.

  • SourceIdentifier. Ciąg identyfikujący subskrypcję zdarzeń. W wartości parametru Action właściwość SourceIdentifier zmiennej automatycznej $Event zawiera tę wartość.

  • TimeGenerated. Obiekt DateTime reprezentujący godzinę wygenerowania zdarzenia. W wartości parametru Action właściwość TimeGenerated zmiennej automatycznej $Event zawiera tę wartość.

  • MessageData. Dane skojarzone z subskrypcją zdarzeń. Użytkownicy określają te dane podczas rejestrowania zdarzenia. W wartości parametru Action właściwość MessageData zmiennej automatycznej $Event zawiera tę wartość.