Eine sehr große Arbeitserleichterung kann das automatisierte auswerten der Eventlogs auf den Rechnern im Netzwerk sein. Wie man die Fehler der letzten 24 Stunden als HTML-Seite speichert, um diese beispielsweise im IT-Bereich des Intranets den Kollegen zur Verfügung zu stellen, zeige ich mit diesem Skript:
Code:
$Maschinentypen = Get-ADGroup -filter "Name -like 'Alle *'"
foreach ($Maschinentyp in $Maschinentypen) {
$Fehler = icm -ComputerName (Get-ADGroupMember $Maschinentyp.Name).name {Get-EventLog * | foreach {Get-EventLog -LogName $_.Log -After (Get-Date).AddDays(-1) -EntryType Error}} |
select PSComputerName, Source, EventID, Timewritten, Message | sort EventID, PSComputerName
$Pfad = "\\Intranetserver\Intranet\IT\Fehlerlisten\Fehlerliste-" + $Maschinentyp.Name + ".html"
$Fehler | ConvertTo-Html | Out-File -FilePath $Pfad}
Erklärung:
Zunächst holen wir uns vom AD alle Maschinen-Gruppen (im Beispiel könnten diese "Alle Server, Alle Rechner Buchhaltung, etc. heißen).
Anschließend werden die Eventlogs der in den einzelnen Gruppen enthaltenen Maschinen nach Fehlern des letzten Tages durchsucht.
Wir selektieren die für uns interessanten Informationen, diese werden dann pro Gruppe als HTML-Datei im angegebenen Pfad abgelegt.
Auf der entsprechenden Intranet-Seite muss nun nur noch ein Link auf die HTML-Dateien erzeugt werden.
Das Skript läst sich täglich über den Taskmanager starten.