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