Delen via


about_Logging

Korte beschrijving

PowerShell registreert interne bewerkingen van de engine, providers en cmdlets naar het Windows-gebeurtenislogboek.

Lange beschrijving

PowerShell registreert details over PowerShell-bewerkingen, zoals het starten en stoppen van de engine en providers, en het uitvoeren van PowerShell-opdrachten.

Notitie

Windows PowerShell 5.1 (en ouder) bevatten EventLog-cmdlets voor de Windows-gebeurtenislogboeken. In deze versies kunt u de lijst met EventLog-cmdletstype weergeven: Get-Command -Noun EventLog. Zie de cmdlet-documentatie en about_EventLogs voor uw versie van Windows PowerShell voor meer informatie.

Zie de volgende artikelen voor informatie over logboekregistratie in PowerShell 7:

De vermeldingen in het PowerShell-gebeurtenislogboek weergeven in Windows

PowerShell-logboeken kunnen worden weergegeven met behulp van de Windows-Logboeken. Het gebeurtenislogboek bevindt zich in de groep Toepassings- en serviceslogboeken en heeft de naam Microsoft-Windows-PowerShell. De bijbehorende ETW-provider GUID is {A0C1853B-5C40-4B15-8766-3CF1C58F985A}.

Wanneer logboekregistratie van scriptblokkering is ingeschakeld, registreert PowerShell de volgende gebeurtenissen in het Microsoft-Windows-PowerShell-/operationele logboek:

Veld Waarde
EventId 4104 / 0x1008
Channel Operational
Niveau Verbose
Opcode Create
Opdracht CommandStart
Trefwoord Runspace

Logboekregistratie van scriptblokkering inschakelen

Wanneer u Logboekregistratie van scripts blokkeert, registreert PowerShell de inhoud van alle scriptblokken die worden verwerkt. Zodra deze is ingeschakeld, registreert elke nieuwe PowerShell-sessie deze informatie.

Notitie

Om ervoor te zorgen dat gevoelige gegevens worden beveiligd, schakelt u Logboekregistratie van beveiligde gebeurtenissen in wanneer u logboekregistratie van scripts gebruikt voor andere doeleinden dan diagnostische doeleinden.

Logboekregistratie van scripts kan worden ingeschakeld via Groepsbeleid of een registerinstelling.

Met behulp van Groepsbeleid

Als u automatische transcriptie wilt inschakelen, schakelt u de functie Logboekregistratie van PowerShell-scripts in groepsbeleid in via Beheer istratieve sjablonen ->Windows-onderdelen ->Windows PowerShell.

Het register gebruiken

Voer de volgende functie uit:

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"
}

Logboekregistratie van beveiligde gebeurtenissen

Door het niveau van logboekregistratie op een systeem te verhogen, wordt de mogelijkheid vergroot dat vastgelegde inhoud gevoelige gegevens kan bevatten. Als bijvoorbeeld scriptregistratie is ingeschakeld, kunnen referenties of andere gevoelige gegevens die door een script worden gebruikt, naar het gebeurtenislogboek worden geschreven. Wanneer een computer waarop gevoelige gegevens zijn geregistreerd, is gecompromitteerd, kunnen de logboeken een aanvaller voorzien van informatie die nodig is om het bereik te vergroten.

Windows 10 introduceert beveiligde gebeurtenislogboekregistratie om deze informatie te beveiligen. Met beveiligde gebeurtenislogboeken kunnen deelnemende toepassingen gevoelige gegevens versleutelen die naar het gebeurtenislogboek zijn geschreven. Later kunt u deze logboeken ontsleutelen en verwerken op een veiligere en gecentraliseerde logboekverzamelaar.

Inhoud van gebeurtenislogboeken wordt beveiligd met behulp van de IETF Cryptographic Message Syntax (CMS)-standaard. CMS maakt gebruik van cryptografie van openbare sleutels. De sleutels die worden gebruikt om inhoud te versleutelen en inhoud te ontsleutelen, worden gescheiden gehouden.

De openbare sleutel kan op grote schaal worden gedeeld en zijn geen gevoelige gegevens. Alle inhoud die met deze openbare sleutel is versleuteld, kan alleen worden ontsleuteld door de persoonlijke sleutel. Zie Wikipedia - Public Key Cryptography voor meer informatie over openbare-sleutelcryptografie.

Als u een beleid voor logboekregistratie van beveiligde gebeurtenissen wilt inschakelen, implementeert u een openbare sleutel op alle computers met gebeurtenislogboekgegevens die moeten worden beveiligd. De bijbehorende persoonlijke sleutel wordt gebruikt om de gebeurtenislogboeken na te verwerken op een veiligere locatie, zoals een centrale gebeurtenislogboekverzamelaar of SIEM-aggregator . U kunt SIEM instellen in Azure. Zie Algemene SIEM-integratie voor meer informatie.

Beveiligde gebeurtenislogboekregistratie inschakelen via groepsbeleid

Als u logboekregistratie van beveiligde gebeurtenissen wilt inschakelen, schakelt u de Enable Protected Event Logging functie in groepsbeleid in via Administrative Templates -> Windows Components -> Event Logging. Voor deze instelling is een versleutelingscertificaat vereist dat u in een van de volgende formulieren kunt opgeven:

  • De inhoud van een X.509-certificaat met base-64-codering (bijvoorbeeld aangeboden door de Export optie in Certificaatbeheer).
  • De vingerafdruk van een certificaat dat te vinden is in het certificaatarchief van de lokale machine (kan worden geïmplementeerd door de PKI-infrastructuur).
  • Het volledige pad naar een certificaat (kan lokaal of een externe share zijn).
  • Het pad naar een map met een certificaat of certificaten (kan lokaal of een externe share zijn).
  • De onderwerpnaam van een certificaat dat te vinden is in het certificaatarchief van de lokale machine (kan worden geïmplementeerd door de PKI-infrastructuur).

Het resulterende certificaat moet een uitgebreid sleutelgebruik () hebben Document Encryption en het Data Encipherment gebruik van sleutels of Key Encipherment sleutelgebruik is1.3.6.1.4.1.311.80.1 ingeschakeld.

Waarschuwing

De persoonlijke sleutel mag niet worden geïmplementeerd op de gebeurtenissen voor logboekregistratie van machines. Deze moet worden bewaard op een veilige locatie waar u de berichten ontsleutelt.

Beveiligde berichten voor gebeurtenislogboeken ontsleutelen

Met het volgende script worden gebeurtenissen opgehaald en ontsleuteld, ervan uitgaande dat u de persoonlijke sleutel hebt:

Get-WinEvent Microsoft-Windows-PowerShell/Operational |
    Where-Object Id -eq 4104 |
    Unprotect-CmsMessage

Zie ook