Liste des événements du journal d'application de moins de 2 jours
$Date = (Get-Date).AddDays(-2)
Get-WinEvent Application | Where-Object {$_.TimeCreated -ge $Date} | Format-Table TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message
Lien vers le fichier : cliquez ici
Lire le journal applicatif, ne retourner que les erreurs et les entrées ayant l'id 12291. Ne prendre que les évènements de moins de 2 jours. Ne retourner que le premier résulat :
Get-WinEvent Application | Where-Object {$_.Level -eq 2 -and $_.id -eq 12291 -and $_.TimeCreated -ge $Date} | Select-Object -first 1 | Format-Table TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message
Lien vers le fichier : cliquez ici
On peut stocker le résultat d'une recherche dans un objet puis lister chaque résultat un à un si l'objet n'est pas nul.
Exemple :
$Date = (Get-Date).AddDays(-2)
$objEvents = Get-WinEvent Application | Where-Object {$_.TimeCreated -ge $Date} | Select-Object -first 5 | Format-Table TimeCreated, LogName, Level, Id, ProviderName, Message
#if (!($objEvents -eq $null)){
#if ($objEvents){
if ($objEvents -ne $null){
add-content $MonFichier "Erreur détectée"
foreach ($OneVent in $objEvents){
$OneVent
#write-host $OneVent.LogName
}
}
Lien vers le fichier : cliquez ici
Le script powershell suivant permet d'exécuter une commande distante de recherche dans le journal de sécurité sur une liste de serveurs donnée :
$Date = (Get-Date).AddDays(-1)
$MesMachines = "machine01,machine02" -split ","
foreach ($UneLigne in $MesMachines){
Write-host "Traitement de $UneLigne"
Invoke-command -ScriptBlock { Get-WinEvent Security | Where-Object {$_.TimeCreated -ge $Date -and $_.id -eq 4624 -and $_.Message -like "*loginrecherche*"} | Select-Object -first 50 | Format-List TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message } -ComputerName $UneLigne
}
Lien vers le fichier : cliquez ici
Voici un tableau qui donne le nom de différents journaux
Nom du journal |
---|
Application |
System |
Security |
Et voici un tableau qui donne la correspondance entre le numéro du champ Level et sa traduction
Numéro | Traduction |
---|---|
2 | Erreur |
3 | Avertissement |
4 | Information |
Notez qu'il y a également la commande Get-EventLog
Elle ne fonctionne qu'avec les journaux 'classics', cad ceux de Windows XP et 2003
Pages Web
Site Web | Description |
---|---|
Ss64.com Get-WinEvent | Explication de la commande Get-WinEvent par Ss64.com |
Ss64.com Get-EventLog | Explication de la commande Get-EventLog par Ss64.com |
Msdn.microsoft.com Get-WinEvent | Description de la commande Get-WinEvent sur le MSDN |
Ultimatewindowssecurity | Windows Security Log Events |
Article(s) en relation(s)
Voir à quelle heure et sur quel poste un utilisateur c'est connecté
Lire les journaux d’événements Windows avec vbScript
Trouver quel ordinateur est à l'origine du verrouillage d'un compte
Lire un fichier de log volumineux
Créer un événement de déclenchement personnalisé dans le planificateur de tâches