Get-EventLog
Hiermee haalt u de gebeurtenissen op in een gebeurtenislogboek of een lijst met de gebeurtenislogboeken op de lokale computer of externe computers.
Syntax
Get-EventLog
[-LogName] <String>
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[[-InstanceId] <Int64[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Description
Met de Get-EventLog cmdlet worden gebeurtenissen en gebeurtenislogboeken opgehaald van lokale en externe computers. Haalt standaard Get-EventLog logboeken op van de lokale computer. Als u logboeken van externe computers wilt ophalen, gebruikt u de parameter ComputerName .
U kunt de Get-EventLog parameters en eigenschapswaarden gebruiken om te zoeken naar gebeurtenissen. De cmdlet haalt gebeurtenissen op die overeenkomen met de opgegeven eigenschapswaarden.
PowerShell-cmdlets die het EventLog zelfstandig naamwoord bevatten, werken alleen in klassieke Windows-gebeurtenislogboeken, zoals Toepassing, Systeem of Beveiliging. Als u logboeken wilt ophalen die gebruikmaken van de Windows Event Log-technologie in Windows Vista en latere Versies van Windows, gebruikt u Get-WinEvent.
Notitie
Get-EventLog maakt gebruik van een Win32-API die is afgeschaft. De resultaten zijn mogelijk niet nauwkeurig. Gebruik in plaats daarvan de Get-WinEvent cmdlet.
Voorbeelden
Voorbeeld 1: Gebeurtenislogboeken ophalen op de lokale computer
In dit voorbeeld wordt de lijst met gebeurtenislogboeken weergegeven die beschikbaar zijn op de lokale computer. De namen in de kolom Logboek worden gebruikt met de parameter LogName om op te geven welk logboek wordt gezocht naar gebeurtenissen.
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 20,792 Application
15,168 0 OverwriteAsNeeded 12,559 System
15,360 0 OverwriteAsNeeded 11,173 Windows PowerShell
De Get-EventLog cmdlet gebruikt de parameter List om de beschikbare logboeken weer te geven.
Voorbeeld 2: Recente vermeldingen ophalen uit een gebeurtenislogboek op de lokale computer
In dit voorbeeld worden recente vermeldingen opgehaald uit het gebeurtenislogboek van het systeem.
Get-EventLog -LogName System -Newest 5
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13820 Jan 17 19:16 Error DCOM 10016 The description for Event...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event...
13818 Jan 17 19:06 Information Service Control... 1073748864 The start type of the Back...
13817 Jan 17 19:05 Error DCOM 10016 The description for Event...
13815 Jan 17 19:03 Information Microsoft-Windows... 35 The time service is now sync...
De Get-EventLog cmdlet maakt gebruik van de LogName-parameter om het gebeurtenislogboek van het systeem op te geven. De parameter Nieuwste retourneert de vijf meest recente gebeurtenissen.
Voorbeeld 3: Alle bronnen zoeken voor een specifiek aantal vermeldingen in een gebeurtenislogboek
In dit voorbeeld ziet u hoe u alle bronnen kunt vinden die zijn opgenomen in de 1000 meest recente vermeldingen in het gebeurtenislogboek van het systeem.
$Events = Get-EventLog -LogName System -Newest 1000
$Events | Group-Object -Property Source -NoElement | Sort-Object -Property Count -Descending
Count Name
----- ----
110 DCOM
65 Service Control Manager
51 Microsoft-Windows-Kern...
14 EventLog
14 BTHUSB
13 Win32k
De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. Met de parameter Nieuwste selecteert u de 1000 meest recente gebeurtenissen. De gebeurtenisobjecten worden opgeslagen in de $Events variabele. De $Events objecten worden via de pijplijn naar de Group-Object cmdlet verzonden.
Group-Object gebruikt de parameter Eigenschap om de objecten te groeperen op bron en telt het aantal objecten voor elke bron. Met de parameter NoElement worden de groepsleden uit de uitvoer verwijderd.
De Sort-Object cmdlet gebruikt de parameter Eigenschap om te sorteren op het aantal bronnamen.
Met de parameter Aflopend wordt de lijst gesorteerd op volgorde van aantal van hoog naar laag.
Voorbeeld 4: Foutevenementen ophalen uit een specifiek gebeurtenislogboek
In dit voorbeeld worden foutevenementen uit het gebeurtenislogboek van het systeem opgehaald.
Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13296 Jan 16 13:53 Error DCOM 10016 The description for Event ID '10016' in Source...
13291 Jan 16 13:51 Error DCOM 10016 The description for Event ID '10016' in Source...
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. De parameter EntryType filtert de gebeurtenissen om alleen fout gebeurtenissen weer te geven.
Voorbeeld 5: Gebeurtenissen ophalen uit een gebeurtenislogboek met een InstanceId en Bronwaarde
In dit voorbeeld worden gebeurtenissen opgehaald uit het systeemlogboek voor een specifieke InstanceId en Bron.
Get-EventLog -LogName System -InstanceId 10016 -Source DCOM
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
13219 Jan 16 10:00 Error DCOM 10016 The description for Event ID '10016' in Source...
De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. De parameter InstanceID selecteert de gebeurtenissen met de opgegeven exemplaar-id. De bronparameter geeft de gebeurteniseigenschap op.
Voorbeeld 6: Gebeurtenissen ophalen van meerdere computers
Met deze opdracht worden de gebeurtenissen opgehaald uit het gebeurtenislogboek van het systeem op drie computers: Server01, Server02 en Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. De parameter ComputerName maakt gebruik van een door komma's gescheiden tekenreeks om een lijst weer te geven van de computers waaruit u de gebeurtenislogboeken wilt ophalen.
Voorbeeld 7: Alle gebeurtenissen ophalen die een specifiek woord in het bericht bevatten
Met deze opdracht worden alle gebeurtenissen in het gebeurtenislogboek van het systeem opgeslagen die een specifiek woord in het bericht van de gebeurtenis bevatten. Het is mogelijk dat de waarde van de opgegeven berichtparameter is opgenomen in de inhoud van het bericht, maar niet wordt weergegeven in de PowerShell-console.
Get-EventLog -LogName System -Message *description*
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 19:17 Error DCOM 10016 The description for Event ID '10016'...
13820 Jan 17 19:16 Error DCOM 10016 The description for Event ID '10016'...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event ID '10016'...
De Get-EventLog cmdlet maakt gebruik van de LogName-parameter om het gebeurtenislogboek van het systeem op te geven. De parameter Message geeft een woord op dat moet worden gezocht in het berichtveld van elke gebeurtenis.
Voorbeeld 8: de eigenschapswaarden van een gebeurtenis weergeven
In dit voorbeeld ziet u hoe u alle eigenschappen en waarden van een gebeurtenis kunt weergeven.
$A = Get-EventLog -LogName System -Newest 1
$A | Select-Object -Property *
EventID : 10016
MachineName : localhost
Data : {}
Index : 13821
Category : (0)
CategoryNumber : 0
EntryType : Error
Message : The description for Event ID '10016' in Source 'DCOM'...
Source : DCOM
ReplacementStrings : {Local,...}
InstanceId : 10016
TimeGenerated : 1/17/2019 19:17:23
TimeWritten : 1/17/2019 19:17:23
UserName : username
Site :
Container :
De Get-EventLog cmdlet maakt gebruik van de LogName-parameter om het gebeurtenislogboek van het systeem op te geven. Met de parameter Nieuwste selecteert u het meest recente gebeurtenisobject. Het object wordt opgeslagen in de $A variabele. Het object in de $A variabele wordt naar de Select-Object cmdlet verzonden.
Select-Object gebruikt de parameter Eigenschap met een sterretje (*) om alle eigenschappen van het object te selecteren.
Voorbeeld 9: Gebeurtenissen ophalen uit een gebeurtenislogboek met behulp van een bron- en gebeurtenis-id
In dit voorbeeld worden gebeurtenissen voor een opgegeven bron- en gebeurtenis-id verzameld.
Get-EventLog -LogName Application -Source Outlook | Where-Object {$_.EventID -eq 63} |
Select-Object -Property Source, EventID, InstanceId, Message
Source EventID InstanceId Message
------ ------- ---------- -------
Outlook 63 1073741887 The Exchange web service request succeeded.
Outlook 63 1073741887 Outlook detected a change notification.
Outlook 63 1073741887 The Exchange web service request succeeded.
De Get-EventLog cmdlet gebruikt de parameter LogName om het gebeurtenislogboek van de toepassing op te geven. De bronparameter geeft de naam van de toepassing op, Outlook. De objecten worden via de pijplijn naar de Where-Object cmdlet verzonden. Voor elk object in de pijplijn gebruikt de Where-Object cmdlet de variabele $_.EventID om de eigenschap Gebeurtenis-id te vergelijken met de opgegeven waarde. De objecten worden via de pijplijn naar de Select-Object cmdlet verzonden. Select-Object gebruikt de parameter Eigenschap om de eigenschappen te selecteren die moeten worden weergegeven in de PowerShell-console.
Voorbeeld 10: Gebeurtenissen ophalen en groeperen op een eigenschap
Get-EventLog -LogName System -UserName NT* | Group-Object -Property UserName -NoElement |
Select-Object -Property Count, Name
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. De parameter UserName bevat het jokerteken sterretje (*) om een gedeelte van de gebruikersnaam op te geven. De gebeurtenisobjecten worden via de pijplijn naar de Group-Object cmdlet verzonden. Group-Object gebruikt de parameter Eigenschap om op te geven dat de eigenschap UserName wordt gebruikt om de objecten te groeperen en het aantal objecten voor elke gebruikersnaam te tellen. Met de parameter NoElement worden de groepsleden uit de uitvoer verwijderd. De objecten worden via de pijplijn naar de Select-Object cmdlet verzonden.
Select-Object gebruikt de parameter Eigenschap om de eigenschappen te selecteren die moeten worden weergegeven in de PowerShell-console.
Voorbeeld 11: Gebeurtenissen ophalen die zijn opgetreden tijdens een bepaald datum- en tijdsbereik
In dit voorbeeld worden fout gebeurtenissen opgehaald uit het gebeurtenislogboek van het systeem voor een opgegeven datum en tijdsbereik. De parameters Voor en Na stellen het datum- en tijdsbereik in, maar worden uitgesloten van de uitvoer.
$Begin = Get-Date -Date '1/17/2019 08:00:00'
$End = Get-Date -Date '1/17/2019 17:00:00'
Get-EventLog -LogName System -EntryType Error -After $Begin -Before $End
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 13:40 Error DCOM 10016 The description for Event ID...
13820 Jan 17 13:11 Error DCOM 10016 The description for Event ID...
...
12372 Jan 17 10:08 Error DCOM 10016 The description for Event ID...
12371 Jan 17 09:04 Error DCOM 10016 The description for Event ID...
De Get-Date cmdlet gebruikt de parameter Date om een datum en tijd op te geven. De DateTime-objecten worden opgeslagen in de $Begin en $End variabelen. De Get-EventLog cmdlet gebruikt de parameter LogName om het systeemlogboek op te geven. De parameter EntryType geeft het gebeurtenistype Fout op. Het datum- en tijdsbereik wordt ingesteld door de parameter After en $Begin variabele en de parameter Before en $End variabele.
Parameters
Hiermee worden gebeurtenissen opgehaald die zijn opgetreden na een opgegeven datum en tijd. De datum en tijd van de na-parameter worden uitgesloten van de uitvoer. Voer een DateTime-object in, zoals de waarde die wordt geretourneerd door de Get-Date cmdlet.
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft aan dat deze cmdlet een standaard System.Diagnostics.EventLogEntry-object retourneert voor elke gebeurtenis. Zonder deze parameter Get-EventLog retourneert u een uitgebreid PSObject-object met aanvullende eigenschappen EventLogName, Source en InstanceId .
Als u het effect van deze parameter wilt zien, sluist u de gebeurtenissen door naar de Get-Member cmdlet en onderzoekt u de Waarde TypeName in het resultaat.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft aan dat deze cmdlet de uitvoer als tekenreeksen retourneert in plaats van objecten.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee worden gebeurtenissen opgehaald die zijn opgetreden vóór een opgegeven datum en tijd. De datum en tijd van de parameter Before worden uitgesloten van de uitvoer. Voer een DateTime-object in, zoals de waarde die wordt geretourneerd door de Get-Date cmdlet.
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Met deze parameter geeft u de NetBIOS-naam, het IP-adres (Internet Protocol) van een externe computer of een FQDN (Fully Qualified Domain Name) op.
Als de parameter ComputerName niet is opgegeven, Get-EventLog wordt deze standaard ingesteld op de lokale computer. De parameter accepteert ook een punt (.) om de lokale computer op te geven.
De parameter ComputerName is niet afhankelijk van Windows PowerShell externe communicatie. U kunt deze gebruiken Get-EventLog met de parameter ComputerName , zelfs als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.
| Type: | String[] |
| Aliases: | Cn |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u, als tekenreeksmatrix, het invoertype van de gebeurtenissen op die deze cmdlet ophaalt.
De aanvaardbare waarden voor deze parameter zijn:
- Fout
- Informatie
- FailureAudit
- SuccessAudit
- Waarschuwing
| Type: | String[] |
| Aliases: | ET |
| Accepted values: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de indexwaarden op die moeten worden opgehaald uit het gebeurtenislogboek. De parameter accepteert een door komma's gescheiden tekenreeks met waarden.
| Type: | Int32[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de exemplaar-id's op die moeten worden opgehaald uit het gebeurtenislogboek. De parameter accepteert een door komma's gescheiden tekenreeks met waarden.
| Type: | Int64[] |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft de lijst met gebeurtenislogboeken op de computer weer.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de naam van één gebeurtenislogboek. Gebruik om de logboeknamen Get-EventLog -Listte vinden. Jokertekens zijn toegestaan. Deze parameter is vereist.
| Type: | String |
| Aliases: | LN |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee geeft u een tekenreeks in het gebeurtenisbericht. U kunt deze parameter gebruiken om te zoeken naar berichten die bepaalde woorden of woordgroepen bevatten. Jokertekens zijn toegestaan.
| Type: | String |
| Aliases: | MSG |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Begint met de nieuwste gebeurtenissen en haalt het opgegeven aantal gebeurtenissen op. Het aantal gebeurtenissen is bijvoorbeeld -Newest 100vereist. Hiermee geeft u het maximum aantal gebeurtenissen op dat wordt geretourneerd.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u, als tekenreeksmatrix, bronnen op die zijn geschreven naar het logboek dat deze cmdlet ophaalt. Jokertekens zijn toegestaan.
| Type: | String[] |
| Aliases: | ABO |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee geeft u, als tekenreeksmatrix, gebruikersnamen op die zijn gekoppeld aan gebeurtenissen. Voer namen of naampatronen in, zoals User01, User*of Domain01\User*. Jokertekens zijn toegestaan.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Invoerwaarden
None
U kunt invoer niet doorsluisen naar Get-EventLog.
Uitvoerwaarden
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Als de parameter LogName is opgegeven, is de uitvoer een verzameling System.Diagnostics.EventLogEntry-objecten .
Als alleen de parameter List is opgegeven, is de uitvoer een verzameling System.Diagnostics.EventLog-objecten .
Als zowel de parameters Lijst als AsString zijn opgegeven, is de uitvoer een verzameling System.String-objecten .
Notities
De cmdlets Get-EventLog en Get-WinEvent worden niet ondersteund in de Windows Preinstallation Environment (Windows PE).
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor