Ruft die Ereignisse in einem Ereignisprotokoll oder eine Liste der Ereignisprotokolle auf dem lokalen oder Remotecomputern ab. (Get-EventLog)
NAMEGet-EventLogÜBERSICHTRuft die Ereignisse in einem Ereignisprotokoll oder eine Liste der Ereignisprotokolle auf dem lokalen oder Remotecomputern ab.SYNTAXGet-EventLog [-AsString] [-ComputerName <string[]>] [-List] [<CommonParameters>] Get-EventLog [-LogName] <string> [[-InstanceId] <Int64[]>] [-After <DateTime>] [-AsBaseObject] [-Before <DateTime>] [-ComputerName <string[]>] [-EntryType <string[]>] [-Index <Int32[]>] [-Message <string>] [-Newest <int>] [-Source <string[]>] [-UserName <string[]>] [<CommonParameters>]BESCHREIBUNGDas Cmdlet "Get-EventLog" ruft Ereignisse und Ereignisprotokolle auf den lokalen und Remotecomputern ab. Mit den Parametern von Get-EventLog können Sie Ereignisse anhand ihrer Eigenschaftenwerte suchen. Get-EventLog ruft nur die Ereignisse ab, bei denen alle angegebenen Eigenschaftenwerte übereinstimmen. Die Cmdlets, die das Substantiv "EventLog" enthalten (die EventLog-Cmdlets) können nur für klassische Ereignisprotokolle verwendet werden. Verwenden Sie Get-WinEvent, um Ereignisse aus Protokollen abzurufen, die die Windows-Ereignisprotokolltechnologie in Windows Vista und höheren Versionen von Windows verwenden.PARAMETER-After <DateTime> Ruft nur die Ereignisse ab, die nach dem angegebenen Datum und der angegebenen Uhrzeit eintreten. Geben Sie ein DateTime-Objekt ein, z. B. das vom Cmdlet "Get-Date" zurückgegebene Objekt. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -AsBaseObject [<SwitchParameter>] Gibt ein System.Diagnostics.EventLogEntry-Standardobjekt für jedes Ereignis zurück. Ohne diesen Parameter gibt Get-EventLog ein erweitertes PSObject-Objekt mit den zusätzlichen Eigenschaften EventLogName, Source und InstanceId zurück. Übergeben Sie die Ereignisse über die Pipeline an das Cmdlet "Get-Member", und betrachten Sie den TypeName-Wert im Ergebnis, um die Auswirkungen dieses Parameters zu veranschaulichen. Erforderlich? false Position? named Standardwert False Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -AsString [<SwitchParameter>] Gibt die Ausgabe als Zeichenfolgen und nicht als Objekte zurück. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Before <DateTime> Ruft nur die Ereignisse ab, die vor dem angegebenen Datum und der angegebenen Uhrzeit eintreten. Geben Sie ein DateTime-Objekt ein, z. B. das vom Cmdlet "Get-Date" zurückgegebene Objekt. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -ComputerName <string[]> Gibt einen Remotecomputer an. Der Standardwert ist der lokale Computer. Geben Sie den NetBIOS-Namen, eine IP-Adresse oder den vollqualifizierten Domänennamen eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.) oder "localhost" ein. Dieser Parameter beruht nicht auf Windows PowerShell-Remoting. Sie können den ComputerName-Parameter von Get-EventLog auch dann verwenden, wenn der Computer nicht für das Ausführen von Remotebefehlen konfiguriert ist. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -EntryType <string[]> Ruft nur Ereignisse mit dem angegebenen Eintragstyp ab. Gültige Werte sind "Error", "Information", "FailureAudit", "SuccessAudit" und "Warning". Standardmäßig werden alle Ereignisse betrachtet. Erforderlich? false Position? named Standardwert Alle Ereignisse Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Index <Int32[]> Ruft nur Ereignisse mit den angegebenen Indexwerten ab. Erforderlich? false Position? named Standardwert Alle Ereignisse Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -InstanceId <Int64[]> Ruft nur Ereignisse mit den angegebenen Instanz-IDs ab. Erforderlich? false Position? 2 Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -List [<SwitchParameter>] Ruft eine Liste der Ereignisprotokolle auf dem Computer ab. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -LogName <string> Gibt das Ereignisprotokoll an. Geben Sie den Protokollnamen (den Wert der Log-Eigenschaft, nicht den LogDisplayName) eines Ereignisprotokolls ein. Platzhalterzeichen sind nicht zulässig. Dieser Parameter ist erforderlich. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Message <string> Ruft Ereignisse ab, deren Meldungen die angegebene Zeichenfolge enthalten. Mit dieser Eigenschaft können Sie Meldungen suchen, die bestimmte Wörter oder Ausdrücke enthalten. Platzhalter sind zulässig. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?true -Newest <int> Gibt die maximale Anzahl von abgerufenen Ereignissen an. Get-EventLog ruft die angegebene Anzahl von Ereignissen ab, beginnend mit dem neuesten Ereignis im Protokoll. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Source <string[]> Ruft Ereignisse ab, die von den angegebenen Quellen ins Protokoll geschrieben wurden. Platzhalter sind zulässig. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?true -UserName <string[]> Ruft nur die Ereignisse ab, die den angegebenen Benutzernamen zugeordnet sind. Geben Sie Namen oder Namensmuster ein, z. B. "User01", "User*" oder "Domain01\User*". Platzhalter sind zulässig. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?true <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".EINGABENKeiner. Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.AUSGABENSystem.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String Wenn der LogName-Parameter angegeben wird, stellt die Ausgabe eine Auflistung von EventLogEntry-Objekten dar (System.Diagnostics.EventLogEntry). Wenn nur der List-Parameter angegeben wird, stellt die Ausgabe eine Auflistung von EventLog-Objekten dar (System.Diagnostics.EventLog). Wenn sowohl der List-Parameter als auch der AsString-Parameter angegeben werden, stellt die Ausgabe eine Auflistung von Zeichenfolgen dar (System.String).HINWEISEBeispiele
BEISPIEL 1C:\PS>get-eventlog -list Beschreibung ----------- Mit diesem Befehl werden Informationen über die Ereignisprotokolle auf dem Computer angezeigt.BEISPIEL 2C:\PS>get-eventlog -newest 5 -logname application Beschreibung ----------- Mit diesem Befehl werden die letzten fünf Einträge im Anwendungsereignisprotokoll angezeigt.BEISPIEL 3C:\PS>$events = get-eventlog -logname system -newest 1000 C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending Count Name ----- ---- 75 Service Control Manager 12 Print 6 UmrdpService 2 DnsApi 2 DCOM 1 Dhcp 1 TermDD 1 volsnap Beschreibung ----------- In diesem Beispiel wird gezeigt, wie Sie alle Quellen suchen können, die in den 1000 letzten Einträgen im Systemereignisprotokoll dargestellt werden. Mit dem ersten Befehl werden die letzten 1000 Einträge aus dem Systemereignisprotokoll abgerufen und in der Variablen "$events" gespeichert. Der zweite Befehl sendet die Ereignisse in "$events" mithilfe eines Pipelineoperators (|) an das Cmdlet "Group-Object", das die Einträge nach dem Wert der Source-Eigenschaft gruppiert. Der Befehl verwendet einen zweiten Pipelineoperator, um die gruppierten Ereignisse an das Cmdlet "Sort-Object" zu senden, das sie in absteigender Reihenfolge sortiert, sodass die am häufigsten vorkommende Quelle zuerst aufgeführt wird. "Source" ist nur eine Eigenschaft von Ereignisprotokolleinträgen. Wenn Sie alle Eigenschaften eines Ereignisprotokolleintrags anzeigen möchten, übergeben Sie die Ereignisse über die Pipeline an das Cmdlet "Get-Member".BEISPIEL 4C:\PS>get-eventlog -logname System -EntryType Error Beschreibung ----------- Dieser Befehl ruft nur Fehlerereignisse aus dem Systemereignisprotokoll ab.BEISPIEL 5C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM" Beschreibung ----------- Dieser Befehl ruft aus dem Systemprotokoll Ereignisse mit der InstanceID 3221235481 und dem Source-Wert "DCOM" ab.BEISPIEL 6C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02 Beschreibung ----------- Dieser Befehl ruft die Ereignisse aus dem Windows PowerShell-Ereignisprotokoll auf drei Computern ab: "Server01", "Server02" und dem lokalen Computer "localhost".BEISPIEL 7C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*" Beschreibung ----------- Dieser Befehl ruft alle Ereignisse aus dem Windows PowerShell-Ereignisprotokoll ab, deren Meldungswert das Wort "failed" enthält.BEISPIEL 8C:\PS>$a = get-eventlog -log System -newest 1 C:\PS> $a | format-list -property * EventID : 7036 MachineName : Server01 Data : {} Index : 10238 Category : (0) CategoryNumber : 0 EntryType : Information Message : The description for Event ID Source : Service Control Manager ReplacementStrings : {WinHTTP Web Proxy Auto-Disco InstanceId : 1073748860 TimeGenerated : 4/11/2008 9:56:05 PM TimeWritten : 4/11/2008 9:56:05 PM UserName : Site : Container : Beschreibung ----------- In diesem Beispiel wird das Anzeigen aller Eigenschaftenwerte eines Ereignisses veranschaulicht. Mit dem ersten Befehl wird das neueste Ereignis aus dem Systemereignisprotokoll abgerufen in der Variablen "$a" gespeichert. Beim zweiten Befehl wird das Ereignis in "$a" mit einem Pipelineoperator (|) an den Befehl "Format-List" gesendet, der alle (*) der Ereigniseigenschaften anzeigt.BEISPIEL 9C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34} Beschreibung ----------- Dieser Befehl ruft Ereignisse im Anwendungsereignisprotokoll ab, bei denen die Quelle Outlook und die Ereignis-ID 34 ist. Obwohl Get-EventLog nicht über einen EventID-Parameter verfügt, können Sie mit dem Cmdlet "Where-Object" Ereignisse auf Grundlage des Werts einer beliebigen Ereigniseigenschaft auswählen. -------------------------- BEISPIEL 10 -------------------------- C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto Count Name ----- ---- 6031 NT AUTHORITY\SYSTEM 42 NT AUTHORITY\LOCAL SERVICE 4 NT AUTHORITY\NETWORK SERVICE Beschreibung ----------- Dieser Befehl gibt die Ereignisse im Systemprotokoll gruppiert nach dem Wert der UserName-Eigenschaft zurück. Der Befehl "Get-EventLog" ruft mit dem UserName-Parameter nur Ereignisse ab, in denen der Benutzername mit "NT*" beginnt". -------------------------- BEISPIEL 11 -------------------------- C:\PS>$May31 = get-date 5/31/08 C:\PS> $July1 = get-date 7/01/08 C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1 Beschreibung ----------- Dieser Befehl ruft alle Fehler im Windows PowerShell-Ereignisprotokoll ab, die im Juni 2008 aufgetreten sind. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113314 (möglicherweise auf Englisch) Get-WinEvent Clear-EventLog Limit-EventLog New-EventLog Remove-EventLog Show-EventLog Write-EventLog Get-WinEvent C:\Windows>powershell get-help Clear-EventLog -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export