dimanche 25 octobre 2015

Powershell - Logs : Récupérer les logs




Dans ce mini script, je demande les logs des dernières 24 heures :


$a = (Get-Date).AddMonths(-1)





write-host "votreserveur"  -foregroundcolor red -backgroundcolor white



Get-WinEvent -computername ordi -FilterHashtable @{logname = 'setup'; id = 2} | where {$_.timecreated -gt $a } |Format-Table timecreated, message -AutoSize -Wrap

Il est évidemment possible d'envoyer un rapport par mail et d'ajouter des serveurs avec l'option "- append " dans un fichier texte, à suivre...


Autre script (ici un serveur récupère les logs des autres à configurer en amont) :



$a = (Get-Date).Adddays(-10)

Get-WinEvent -computername votreserveur  -FilterHashtable @{logname = 'forwarded*'} | where {$_.timecreated -gt $a } |Format-Table MachineName,TimeCreated,Message  -AutoSize -Wrap| Out-File "d:\shell\logs\errors.txt"

#Get-WinEvent -computername votreserveur -FilterHashtable @{logname = 'forwarded*'} | where {$_.timecreated -gt $a }| format-list -property *

$dir = "d:\shell\logs\"

$expediteur = "Polux@polux.com "
$destinataire = "Tata@polux.com "
$serveur = "serveursmtp.polux.com"


Get-ChildItem "$dir"| Where {-NOT $_.PSIsContainer}| foreach {$_.fullname} |send-mailmessage -from "$expediteur" -to "$destinataire" -subject "Logs $i"  -smtpServer $serveur
 
 Options :


#Id
#Version
#Qualifiers
#Level
#Task
#Opcode
#Keywords
#RecordId
#ProviderName
#ProviderId
#LogName
#ProcessId
#ThreadId
#MachineName
#UserId
#TimeCreated
#ActivityId
#RelatedActivityId
#ContainerLog
#MatchedQueryIds
#Bookmark
#LevelDisplayName
#OpcodeDisplayName
#TaskDisplayName
#KeywordsDisplayNames
#Properties
 


#!:)!

Aucun commentaire: