Delen via


Over eventlogs

Korte beschrijving

Windows PowerShell maakt een Windows-gebeurtenislogboek met de naam 'Windows PowerShell' om Windows PowerShell gebeurtenissen vast te leggen. U kunt dit logboek weergeven in Logboeken of met behulp van cmdlets die gebeurtenissen ophalen, zoals de Get-EventLog cmdlet. Standaard worden Windows PowerShell engine- en provider-gebeurtenissen vastgelegd in het gebeurtenislogboek, maar u kunt de voorkeursvariabelen voor het gebeurtenislogboek gebruiken om het gebeurtenislogboek aan te passen. U kunt bijvoorbeeld gebeurtenissen over Windows PowerShell opdrachten toevoegen.

Lange beschrijving

Het Windows PowerShell gebeurtenislogboek registreert details van Windows PowerShell bewerkingen, zoals het starten en stoppen van de programma-engine en het starten en stoppen van de Windows PowerShell providers. U kunt ook details over Windows PowerShell opdrachten vastleggen.

Het Windows PowerShell gebeurtenislogboek bevindt zich in de groep Logboeken toepassing en services. Het Windows PowerShell-logboek is een klassiek gebeurtenislogboek dat geen gebruik maakt van de Windows Eventing-technologie. Als u het logboek wilt weergeven, gebruikt u de cmdlets die zijn ontworpen voor klassieke gebeurtenislogboeken, zoals Get-EventLog.

Het gebeurtenislogboek van de Windows PowerShell weergeven

U kunt het Windows PowerShell gebeurtenislogboek weergeven in Logboeken of met behulp van de Get-EventLog cmdlets enGet-WmiObject. Als u de inhoud van het Windows PowerShell logboek wilt weergeven, typt u:

Get-EventLog -LogName "Windows PowerShell"

Als u de gebeurtenissen en hun eigenschappen wilt onderzoeken, gebruikt u de Sort-Object cmdlet, de Group-Object cmdlet en de cmdlets die het Format werkwoord (de Format cmdlets) bevatten.

Als u bijvoorbeeld de gebeurtenissen in het logboek wilt weergeven, gegroepeerd op de gebeurtenis-id, typt u:

Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID

Of typ:

Get-EventLog "Windows PowerShell" |
  Sort-Object EventID |
  Group-Object EventID

Als u alle klassieke gebeurtenislogboeken wilt weergeven, typt u:

Get-EventLog -List

U kunt de Get-WmiObject cmdlet ook gebruiken om de gebeurtenisgerelateerde WMI-klassen (Windows Management Instrumentation) te gebruiken om het gebeurtenislogboek te controleren. Als u bijvoorbeeld alle eigenschappen van het gebeurtenislogboekbestand wilt weergeven, typt u:

Get-WmiObject Win32_NTEventlogFile |
  where LogFileName -EQ "Windows PowerShell" |
  Format-List -Property *

Als u de Win32-gebeurtenisgerelateerde WMI-klassen wilt vinden, typt u:

Get-WmiObject -List | where Name -Like "win32*event*"

Typ 'Get-Help Get-EventLog' en 'Get-Help Get-WmiObject' voor meer informatie.

Gebeurtenissen selecteren voor het Windows PowerShell gebeurtenislogboek

U kunt de voorkeursvariabelen voor gebeurtenislogboeken gebruiken om te bepalen welke gebeurtenissen worden vastgelegd in het Windows PowerShell gebeurtenislogboek.

Er zijn zes voorkeursvariabelen voor gebeurtenislogboeken; twee variabelen voor elk van de drie logboekregistratieonderdelen: de engine (het Windows PowerShell-programma), de providers en de opdrachten. De LifeCycleEvent-variabelen registreren normale gebeurtenissen voor starten en stoppen. De statusvariabelen registreren foutgebeurtenissen.

De volgende tabel bevat de voorkeursvariabelen voor gebeurtenislogboeken.

Variabele Beschrijving
$LogEngineLifeCycleEvent Registreert het starten en stoppen van PowerShell
$LogEngineHealthEvent Registreert PowerShell-programmafouten
$LogProviderLifeCycleEvent Registreert het begin en einde van PowerShell-providers
$LogProviderHealthEvent Registreert fouten met PowerShell-providers
$LogCommandLifeCycleEvent Registreert het starten en voltooien van opdrachten
$LogCommandHealthEvent Logboekopdrachtfouten

(Zie about_Providers voor informatie over Windows PowerShell providers.)

Standaard zijn alleen de volgende gebeurtenistypen ingeschakeld:

  • $LogEngineLifeCycleEvent
  • $LogEngineHealthEvent
  • $LogProviderLifeCycleEvent
  • $LogProviderHealthEvent

Als u een gebeurtenistype wilt inschakelen, stelt u de voorkeursvariabele voor dat gebeurtenistype in op $true. Als u bijvoorbeeld levenscyclusgebeurtenissen van opdrachten wilt inschakelen, typt u:

$LogCommandLifeCycleEvent

Of typ:

$LogCommandLifeCycleEvent = $true

Als u een gebeurtenistype wilt uitschakelen, stelt u de voorkeursvariabele voor dat gebeurtenistype in op $false. Als u bijvoorbeeld levenscyclusgebeurtenissen van opdrachten wilt uitschakelen, typt u:

$LogProviderLifeCycleEvent = $false

U kunt elke gebeurtenis uitschakelen, met uitzondering van de gebeurtenissen die aangeven dat de Windows PowerShell-engine en de kernproviders zijn gestart. Deze gebeurtenissen worden gegenereerd voordat de Windows PowerShell-profielen worden uitgevoerd en voordat het hostprogramma gereed is om opdrachten te accepteren.

De variabele-instellingen zijn alleen van toepassing op de huidige Windows PowerShell sessie. Als u ze wilt toepassen op alle Windows PowerShell sessies, voegt u ze toe aan uw Windows PowerShell-profiel.

Module-gebeurtenissen in logboekregistratie

Vanaf Windows PowerShell 3.0 kunt u uitvoeringsgebeurtenissen voor de cmdlets en functies in Windows PowerShell modules en modules vastleggen door de eigenschap LogPipelineExecutionDetails van modules en modules in te stellen op TRUE. In Windows PowerShell 2.0 is deze functie alleen beschikbaar voor modules.

Wanneer de eigenschapswaarde LogPipelineExecutionDetails TRUE () is,$true schrijft Windows PowerShell cmdlet- en functieuitvoeringsgebeurtenissen in de sessie naar het Windows PowerShell logboek in Logboeken. De instelling is alleen van kracht in de huidige sessie.

Gebruik de volgende opdrachtreeks om logboekregistratie van uitvoeringsevenementen van cmdlets en functies in een module in te schakelen.

Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true

Gebruik de volgende opdrachtreeks om logboekregistratie van uitvoeringsgebeurtenissen van cmdlets in een module in te schakelen.

$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True

Als u logboekregistratie wilt uitschakelen, gebruikt u dezelfde opdrachtreeks om de eigenschapswaarde in te stellen op FALSE ($false).

U kunt ook de groepsbeleid instelling 'Modulelogboekregistratie inschakelen' gebruiken om module- en modulelogboekregistratie in en uit te schakelen. De beleidswaarde bevat een lijst met module- en modulenamen. Jokertekens worden ondersteund.

Wanneer 'Modulelogboekregistratie inschakelen' is ingesteld voor een module, is de waarde van de eigenschap LogPipelineExecutionDetails van de module WAAR in alle sessies en kan deze niet worden gewijzigd.

De groepsbeleidsinstelling Modulelogboekregistratie inschakelen bevindt zich in de volgende groepsbeleid paden:

Computer Configuration\
  Administrative Templates\
    Windows Components\
     Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

Het gebruikersconfiguratiebeleid heeft voorrang op het computerconfiguratiebeleid en beide beleidsregels hebben de voorkeur boven de waarde van de eigenschap LogPipelineExecutionDetails van modules en modules.

Zie about_Group_Policy_Settings voor meer informatie over deze groepsbeleid instelling.

Beveiliging en controle

Het Windows PowerShell gebeurtenislogboek is ontworpen om activiteiten aan te geven en operationele details te bieden voor probleemoplossing.

Net als de meeste windows-toepassingsgebeurtenislogboeken is het Windows PowerShell gebeurtenislogboek echter niet ontworpen om veilig te zijn. Het mag niet worden gebruikt om de beveiliging te controleren of om vertrouwelijke of bedrijfseigen informatie vast te leggen.

Gebeurtenislogboeken zijn ontworpen om te worden gelezen en begrepen door gebruikers. Gebruikers kunnen het logboek lezen en naar het logboek schrijven. Een kwaadwillende gebruiker kan een gebeurtenislogboek op een lokale of externe computer lezen, valse gegevens vastleggen en vervolgens de logboekregistratie van hun activiteiten voorkomen.

Notities

Auteurs van moduleauteurs kunnen logboekregistratiefuncties toevoegen aan hun modules. Zie Een Windows PowerShell module schrijven in de MSDN-bibliotheek voor meer informatie.

Zie ook

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables