about_Logging
Kurze Beschreibung
PowerShell protokolliert interne Vorgänge aus dem Modul, den Anbietern und Cmdlets im Windows-Ereignisprotokoll.
Lange Beschreibung
PowerShell protokolliert Details zu PowerShell-Vorgängen, z. B. Starten und Beenden des Moduls und Anbieters und Ausführen von PowerShell-Befehlen.
Hinweis
Windows PowerShell 5.1 (und ältere) enthalten EventLog-Cmdlets für die Windows-Ereignisprotokolle. In diesen Versionen zeigen Sie die Liste der EventLog-Cmdlets an:
Get-Command -Noun EventLog
. Weitere Informationen finden Sie in der Cmdlet-Dokumentation und about_EventLogs für Ihre Version von Windows PowerShell.
Informationen zur Protokollierung in PowerShell 7 finden Sie in den folgenden Artikeln:
Anzeigen der PowerShell-Ereignisprotokolleinträge unter Windows
PowerShell-Protokolle können mithilfe des Windows Ereignisanzeige angezeigt werden. Das Ereignisprotokoll befindet sich in der Gruppe "Anwendungs- und Dienstprotokolle" und heißt "Microsoft-Windows-PowerShell". Der zugeordnete ETW-Anbieter GUID
ist {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
.
Wenn die Skriptblockprotokollierung aktiviert ist, protokolliert PowerShell die folgenden Ereignisse im Microsoft-Windows-PowerShell/Betriebsprotokoll :
Feld | Wert |
---|---|
EventId | 4104 / 0x1008 |
Kanal | Operational |
Ebene | Verbose |
Opcode | Create |
Aufgabe | CommandStart |
Schlüsselwort | Runspace |
Aktivieren der Skriptblockprotokollierung
Wenn Sie die Skriptblockprotokollierung aktivieren, zeichnet PowerShell den Inhalt aller Skriptblöcke auf, die verarbeitet werden. Nach der Aktivierung protokolliert jede neue PowerShell-Sitzung diese Informationen.
Hinweis
Um sicherzustellen, dass vertrauliche Daten geschützt sind, aktivieren Sie die geschützte Ereignisprotokollierung, wenn Sie die Skriptblockprotokollierung für andere Zwecke als Diagnose Zwecke verwenden.
Die Skriptblockprotokollierung kann über Gruppenrichtlinien oder eine Registrierungseinstellung aktiviert werden.
Verwenden von Gruppenrichtlinien
Aktivieren Sie zum Aktivieren der automatischen Transkription das Feature "Aktivieren der PowerShell-Skriptblockprotokollierung" in der Gruppenrichtlinie über administrative Vorlagen ->Windows-Komponenten ->Windows PowerShell.
Mithilfe der Registrierung
Führen Sie die folgende Funktion aus:
function Enable-PSScriptBlockLogging {
$basePath = @(
'HKLM:\Software\Policies\Microsoft\Windows'
'PowerShell\ScriptBlockLogging'
) -join '\'
if (-not (Test-Path $basePath)) {
$null = New-Item $basePath -Force
}
Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}
Geschützte Ereignisprotokollierung
Durch die Erhöhung der Protokollierung bei einem System wird die Möglichkeit erhöht, dass protokollierte Inhalte vertrauliche Daten enthalten können. Beispielsweise können mit aktivierter Skriptprotokollierung, Anmeldeinformationen oder anderen vertraulichen Daten, die von einem Skript verwendet werden, in das Ereignisprotokoll geschrieben werden. Wenn ein Computer, auf dem vertrauliche Daten protokolliert wurden, kompromittiert wird, können die Protokolle einem Angreifer Informationen bereitstellen, die erforderlich sind, um seine Reichweite zu erweitern.
Um diese Informationen zu schützen, führt Windows 10 die Geschützte Ereignisprotokollierung ein. Mit der geschützten Ereignisprotokollierung können teilnehmende Anwendungen vertrauliche Daten verschlüsseln, die in das Ereignisprotokoll geschrieben wurden. Später können Sie diese Protokolle in einem sichereren und zentralisierten Protokollsammler entschlüsseln und verarbeiten.
Ereignisprotokollinhalte werden mithilfe des IETF-Standards für kryptografische Nachrichtensyntax (CMS) geschützt. CMS verwendet Kryptografie mit öffentlichem Schlüssel. Die Schlüssel zum Verschlüsseln von Inhalten und Entschlüsseln von Inhalten werden getrennt gespeichert.
Der öffentliche Schlüssel kann allgemein freigegeben werden und sind keine vertraulichen Daten. Alle mit diesem öffentlichen Schlüssel verschlüsselten Inhalte können nur vom privaten Schlüssel entschlüsselt werden. Weitere Informationen zur Kryptografie mit öffentlichem Schlüssel finden Sie unter Wikipedia - Public Key Cryptography.
Um eine Richtlinie für die geschützte Ereignisprotokollierung zu aktivieren, stellen Sie einen öffentlichen Schlüssel auf allen Computern bereit, auf denen Ereignisprotokolldaten zum Schutz vorhanden sind. Der entsprechende private Schlüssel wird verwendet, um die Ereignisprotokolle an einem sichereren Ort wie einem zentralen Ereignisprotokollsammler oder SIEM-Aggregator zu verarbeiten. Sie können SIEM in Azure einrichten. Weitere Informationen finden Sie unter generische SIEM-Integration.
Aktivieren der Geschützten Ereignisprotokollierung über Gruppenrichtlinien
Um die geschützte Ereignisprotokollierung zu aktivieren, aktivieren Sie das Enable Protected Event Logging
Feature in der Gruppenrichtlinie über Administrative Templates -> Windows Components -> Event Logging
. Für diese Einstellung ist ein Verschlüsselungszertifikat erforderlich, das Sie in einer von mehreren Formen bereitstellen können:
- Der Inhalt eines base64-codierten X.509-Zertifikats (z. B. wie in der
Export
Option im Zertifikat-Manager angeboten). - Der Fingerabdruck eines Zertifikats, das sich im Zertifikatspeicher des lokalen Computers befindet (kann von der PKI-Infrastruktur bereitgestellt werden).
- Der vollständige Pfad zu einem Zertifikat (kann lokal oder eine Remotefreigabe sein).
- Der Pfad zu einem Verzeichnis, das ein Zertifikat oder Zertifikate enthält (kann lokal oder eine Remotefreigabe sein).
- Der Antragstellername eines Zertifikats, das sich im Zertifikatspeicher des lokalen Computers befindet (kann von der PKI-Infrastruktur bereitgestellt werden).
Das resultierende Zertifikat muss Document Encryption
als erweiterte Schlüsselverwendung (1.3.6.1.4.1.311.80.1
) und entweder Data Encipherment
als Schlüsselverwendung aktiviert Key Encipherment
sein.
Warnung
Der private Schlüssel sollte nicht für die Computerprotokollierungsereignisse bereitgestellt werden. Sie sollte an einem sicheren Ort aufbewahrt werden, an dem Sie die Nachrichten entschlüsseln.
Entschlüsseln geschützter Ereignisprotokollierungsmeldungen
Das folgende Skript ruft Ereignisse ab und entschlüsselt sie, vorausgesetzt, Sie haben den privaten Schlüssel:
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für