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
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ść.