Windows-Ereignisse im Ereignisprotokoll lassen sich per Skript erzeugen. Das kann hilfreich sein, wenn man die Funktion des Eventlogs prüfen möchte, beispielsweise bei der Einrichtung der Ereignisweiterleitung (ab Windows Vista/Windows Server 2008 möglich). Das folgende Skript erzeugt in unregelmäßigen Abständen zwischen einer und 60 Sekunden Ereignisse verschiedener Schweregrade im Application-Protokoll. Es sollte unter allen gängigen Windows-Versionen funktionieren.
Man startet das Skript mit cscript: cscript c:\pfad\Ereigniserzeuger.vbs
1: Set objShell = CreateObject("WScript.Shell")
2: intMinIntervall = 60
3: Dim arrTyp(2,1)
4: arrTyp(0, 0) = 1
5: arrTyp(0, 1) = "Fehler"
6: arrTyp(1, 0) = 2
7: arrTyp(1, 1) = "Warnung"
8: arrTyp(2, 0) = 4
9: arrTyp(2, 1) = "Information"
10:
11: Dim arrMeldung(3)
12: arrMeldung(0) = "Ein ernsthaftes Ereignis ist aufgetreten."
13: arrMeldung(1) = "Es gab ein ungewöhnliches Vorkommnis."
14: arrMeldung(2) = "Das verstehe ich gar nicht."
15: arrMeldung(3) = "Bitte weitergehen, es gibt nichts zu sehen!"
16:
17: Randomize
18: While 1 = 1
19: intMeldung = Int((3 - 0 + 1) * Rnd(1) + 0)
20: intTyp = Int((2 - 0 + 1) * Rnd(1) + 0)
21: intWarten = Int((2 - 1 + 1) * (Rnd(1) + 1) * intMinIntervall)
22: objShell.LogEvent arrTyp(intTyp, 0), arrTyp(intTyp, 1) & " - Ereigniserzeuger: " & arrMeldung(intMeldung) _
23: & " Nächstes Ereignis in " & intWarten & " Sekunden."
24: WScript.Echo Now & " " & arrTyp(intTyp, 1) & " - Ereigniserzeuger: " & arrMeldung(intMeldung) _
25: & " Nächstes Ereignis in " & intWarten & " Sekunden."
26: WScript.Sleep(intWarten * 1000)
27: Wend
http://faq-o-matic.net/?p=1728