Udostępnij za pośrednictwem


Get-Event

Pobiera zdarzenia w kolejce zdarzeń.

Składnia

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

Opis

Polecenie cmdlet Get-Event 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 przy użyciu polecenia cmdlet New-Event oraz zdarzenie zgłaszane podczas zamykania programu PowerShell. Aby uzyskać zdarzenia, możesz użyć Get-Event lub Wait-Event.

To polecenie cmdlet nie pobiera zdarzeń z dzienników podglądu zdarzeń. Aby pobrać te zdarzenia, użyj 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 polecenia Format-List, 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ć polecenia cmdlet Where-Object, aby pobrać 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.

Typ:Int32
Aliasy:Id
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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 cmdlet Get-Event 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.

  • Nadawca. Obiekt, który wygenerował zdarzenie. W wartości parametru Action zmienna automatyczna $Sender 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 obiektu, Timers.ElapsedEventArgs e, właściwość SourceEventArgs będzie zawierać właściwość Timers.ElapsedEventArgs. W wartości parametru Action zmienna automatyczna $EventArgs zawiera tę wartość.

  • SourceArgs. Wszystkie parametry oryginalnego podpisu zdarzenia. W przypadku standardowego podpisu zdarzenia $Args[0] reprezentuje nadawcę, a $Args[1] reprezentuje SourceEventArgs. W wartości parametru Action 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 czas 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ść.