THEMA about_EventLogs KURZBESCHREIBUNG In Windows PowerShell wird ein "Windows PowerShell" genanntes Windows- Ereignisprotokoll erstellt, in dem Windows PowerShell-Ereignisse aufgezeichnet werden. Sie können dieses Protokoll in der Ereignisanzeige oder mit Cmdlets anzeigen, die Ereignisse abrufen, z. B. dem Cmdlet "Get-EventLog". Standardmäßig werden Windows PowerShell-Modul- und Anbieterereignisse im Ereignisprotokoll aufgezeichnet, jedoch können Sie dieses über seine Einstellungsvariabl en anpassen. So können Sie beispielsweise Ereignisse zu Windows PowerShell-Befehlen hinzufügen. DETAILBESCHREIBUNG Das Windows PowerShell-Ereignisprotokoll zeichnet Details von Windows PowerShell-Vorgängen auf, z. B. das Starten und Beenden des Programmmoduls und das Starten und Beenden der Windows PowerShell-Anbieter. Sie können auch Details zu Windows PowerShell-Befehlen protokollieren. In Windows Vista und höheren Versionen ist das Windows PowerShell-Ereignisprotokoll in der Gruppe "Anwendungs- und Dienstprotokolle" verfügbar. Das Windows PowerShell-Protokoll ist ein klassisches Ereignisprotokoll, für das die Windows-Ereignis- technologie nicht verwendet wird. Zum Anzeigen des Protokolls verwenden Sie die Cmdlets für klassische Ereignisprotokolle, z. B. Get-EventLog. Anzeigen des Windows PowerShell-Ereignisprotokolls Das Windows PowerShell-Ereignisprotokoll können Sie in der Ereignisanzeige oder mit den Cmdlets "Get-EventLog" und "Get-WmiObject" anzeigen. Wenn Sie den Inhalt des Windows PowerShell-Protokolls anzeigen möchten, geben Sie Folgendes ein: get-eventlog -logname "Windows PowerShell" Zum Untersuchen der Ereignisse und deren Eigenschaften verwenden Sie die Cmdlets "Sort-Object", "Group-Object" oder die Cmdlets, die das Verb "Format" (die Format-Cmdlets) enthalten. Wenn Sie zum Beispiel die Ereignisse im Protokoll nach der Ereignis-ID gruppiert anzeigen möchten, geben Sie Folgendes ein: get-eventlog "Windows PowerShell" | format-table -groupby eventid Sie können auch Folgendes eingeben: get-eventlog "Windows PowerShell" | sort-object eventid ` | group-object eventid Wenn Sie alle klassischen Ereignisprotokolle anzeigen möchten, geben Sie Folgendes ein: get-eventlog -list Mit dem Cmdlet "Get-WmiObject" können Sie auch die ereignisbezogenen WMI-Klassen (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) verwenden, um das Ereignisprotokoll zu untersuchen. Geben Sie beispielsweise zum Anzeigen aller Eigenschaften der Ereignisprotokolldatei Folgendes ein: get-wmiobject win32_nteventlogfile | where ` {$_.logfilename -eq "Windows PowerShell"} | format-list -property * Zum Suchen ereignisbezogener Win32-WMI-Klassen geben Sie Folgendes ein: get-wmiobject -list | where {$_.name -like "win32*event*"} Weitere Informationen erhalten Sie mit den Befehlen "get-help get-eventlog" und "get-help get-wmiobject". Auswählen von Ereignissen für das Windows PowerShell-Ereignisprotokoll Mit den Einstellungsvariablen für das Ereignisprotokoll können Sie die Ereignisse bestimmen, die im Windows PowerShell-Ereignis- protokoll aufgezeichnet werden. Für das Ereignisprotokoll sind sechs Einstellungsvariablen verfügbar: zwei Variablen für jede der drei Protokollierungs- komponenten, das Modul (Programm Windows PowerShell), die Anbieter und die Befehle. Mit den LifeCycleEvent-Variablen werden normale Start- und Beendigungsereignisse protokolliert. Über die Integritätsvariablen werden Fehlerereignisse protokolliert. In der folgenden Tabelle sind die Einstellungsvariablen für das Ereignisprotokoll aufgeführt. Variable Beschreibung -------------------------- ---------------------------------------- $LogEngineLifeCycleEvent Protokolliert Start- und Beendigungsvorg änge von Windows PowerShell. $LogEngineHealthEvent Protokolliert Windows PowerShell-Programmfehler. $LogProviderLifeCycleEvent Protokolliert Start- und Beendigungsvorgänge von Windows PowerShell-Anbietern. $LogProviderHealthEvent Protokolliert Windows PowerShell-Anbieter fehler. $LogCommandLifecycleEvent Protokolliert den Start und den Abschluss von Befehlen. $LogCommandHealthEvent Protokolliert Befehlsfehler. (Weitere Informationen zu Windows PowerShell-Anbietern erhalten Sie mit folgendem Befehl: "get-help about_providers".) Standardmäßig sind nur die folgenden Ereignistypen aktiviert: $LogEngineLifeCycleEvent $LogEngineHealthEvent $LogProviderLifeCycleEvent $LogProviderHealthEvent Zum Aktivieren eines Ereignistyps legen Sie dessen Einstellungsvariable auf $true fest. Wenn Sie beispielsweise Lebenszyklusereignisse für Befehle aktivieren möchten, geben Sie Folgendes ein: $LogCommandLifecycleEvent Sie können auch Folgendes eingeben: $LogCommandLifeCycleEvent = $true Zum Deaktivieren eines Ereignistyps legen Sie dessen Einstellungsvariable auf $false fest. Wenn Sie beispielsweise Lebenszyklusereignisse für Befehle deaktivieren möchten, geben Sie Folgendes ein: $LogProviderLifeCycleEvent = $false Die Variableneinstellungen sind nur für die aktuelle Windows PowerShell-Sitzung gültig. Wenn Sie sie auf alle Windows PowerShell-Sitzungen anwenden möchten, fügen Sie sie dem Windows PowerShell-Profil hinzu. Sicherheit und Überwachung Das Windows PowerShell-Ereignisprotokoll wurde entworfen, um Aktivitäten anzugeben und Funktionsdetails für die Problembehandlung bereitzustellen. Wie jedoch die meisten Windows-basierten Anwendungsereignisproto- kolle bietet das Windows PowerShell-Ereignisprotokoll keine Sicherheit. Es sollte nicht verwendet werden, um die Sicherheit zu überwachen oder um vertrauliche oder herstellereigene Informationen aufzuzeichnen. Ereignisprotokolle sollen von den Benutzern gelesen und verstanden werden. Benutzer können im Protokoll lesen und schreiben. Böswillige Benutzer können beispielsweise ein Ereignisprotokoll auf einem lokalen oder Remotecomputer lesen, falsche Daten aufzeichnen und dann die Protokollierung ihrer Aktivitäten verhindern. SIEHE AUCH Get-EventLog Get-WmiObject about_Preference_Variables