Un article sur la gestion des événements en powershell.
Afficher les événements
Lister les événements classiques :Get-eventlog -list
Lister tous les événements :
Get-winevent -listlog * | select logname
Lister les événements de sécurité dans les 100 dernières entrées
get-eventlog -new 100 -Logname Security
Lister les événements de sécurité dans les 100 dernières entrées (ouverture de session : 4624, fermeture de session 4634) pour un utilisateur (guillaume, syntaxe simple mais peu précise)
get-eventlog -new 100 -Logname Security -InstanceId 4624,4634 -Message "*guillaume*" | fl TimeWritten,entrytype,eventid,message
Même commande mais autre syntaxe, en utilisant le splatting :
$params = @{ new= 100
logname= "security"
instanceid = 4624,4634
message = "*guillaume*" }
get-eventlog @params | fl TimeWritten,entrytype,eventid,message
Afficher un événement spécifique via id (index) :
Get-eventlog -logname system -Index 227211 | fl
Afficher les événements datant de 2 jours maximum
$jours=(Get-Date).AddDays(-2)
Get-Eventlog -LogName "security" | Where-Object {$_.TimeGenerated -ge $jours}
ou
Get-WinEvent -LogName "security" | Where-Object {$_.TimeCreated -ge $jours}
Exporter et importer
Exporter
les événements :
Get-EventLog System | Export-CliXml "c:\temp\eventsystem.clixml"
Vous pouvez ensuite travailler sur l'élément exporté :
$systemlogs = Import-CliXml "c:\temp\eventsystem.clixml"
$systemlogs | fl TimeWritten,entrytype,eventid,message
Vous pouvez aussi exporter les événements avec la commande
suivante :
wevtutil epl System "c:\temp\eventsystem.evtx"
Et utiliser le fichier dans powershell de la manière
suivante
Get-winevent -path "c:\temp\eventsystem.evtx"
Création d'événement et de catégories
Création de catégories
New-EventLog -Logname Script -Source
eventtest
Logname :
nom de la catégorie
Source :
nom de l'élément (application) qui inscrit les événements dans le journal
Suppression
d'une catégorie
Remove-EventLog -LogName script
Suppression
d'une source
Remove-EventLog -Source eventtest
Inscrire un événement :
Write-EventLog -LogName script -Source
eventtest -EventId 1234 -Message "Bonjour à tous"