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