Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ereignisanzeige in html ausgeben

Tipp Microsoft

Mitglied: Edi.Pfisterer

Edi.Pfisterer (Level 2) - Jetzt verbinden

01.10.2010, aktualisiert 12:38 Uhr, 4677 Aufrufe, 7 Kommentare

Da ich gerade eine Anfrage hatte, aus der Ereignisanzeige herauszulesen, wer welches Dokument ausgedruckt hat und weil ich nichts entsprechendes hier gefunden habe...

Hallo Jungs und Mädls!
Anbei ein kurzes Script, das den Inhalt der Ereignisanzeige in eine html-Datei ausgibt...
(Falls es mal wieder jemand brauchen sollte... und damit ich es selbst wieder finde, wenn ichs mal wieder brauche, poste ich es jetzt hier schnell)

Ursprung ist dieses Script hier - Danke an Biber

Ich habe es lediglich um die Ausgabe in einer html-Datei erweitert - no big deal...

01.
datei= "c:\logfiles.html" 
02.
Set fs = CreateObject("Scripting.FileSystemObject") 
03.
set dateineu = fs.createtextfile(datei, true) 
04.
dateineu.write "<html><head><title>Ereignisanzeige</title></head><body text=""#000000"" bgcolor=""#FFFFFF"" ><font face=""verdana""" 
05.
 
06.
dateineu.close 
07.
set dateineu = nothing 
08.
 
09.
CONST EVENTTYPE_ERROR             = "1" 
10.
CONST EVENTTYPE_WARNING           = "2" 
11.
CONST EVENTTYPE_INFORMATION       = "3" 
12.
CONST EVENTTYPE_SUCCESSAUDIT      = "4" 
13.
CONST EVENTTYPE_FAILUREAUDIT      = "5" 
14.
 
15.
strComputer = "." 
16.
arrEventType = array( EVENTTYPE_ERROR, EVENTTYPE_WARNING , EVENTTYPE_FAILUREAUDIT) 
17.
Set objWMIService = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2") 
18.
strSelect = "Select * from Win32_NTLogEvent Where Logfile = 'System'" 
19.
'--------------------> hier 4 Beispiele für das Zusammenbasteln des SELECT-Strings 
20.
'--------------------> wahlweise auskommentieren 
21.
' Set colLoggedEvents = objWMIService.ExecQuery (strSelect   & " AND EventType = '" & "1" & "' ") 
22.
 Set colLoggedEvents = objWMIService.ExecQuery (strSelect   & " AND EventType = '" & EVENTTYPE_INFORMATION & "' ") 
23.
' Set colLoggedEvents = objWMIService.ExecQuery (strSelect   & " AND EventType <> '" & EVENTTYPE_ERROR & "' ") 
24.
'Set colLoggedEvents = objWMIService.ExecQuery (strSelect   & " AND EventType = '" & arrEventType(1) & "' ") 
25.
'Remember: arrEventType(1) == EVENTTYPE_WARNING 
26.
For Each objEvent In colLoggedEvents 
27.
 
28.
 
29.
      inhalt = "Category: " & objEvent.Category & "&nbsp;&nbsp;&nbsp;" 
30.
      inhalt = inhalt & "Computer Name: " & objEvent.ComputerName & "&nbsp;&nbsp;&nbsp;" 
31.
      inhalt = inhalt &  "Event Code: " & objEvent.EventCode & "&nbsp;&nbsp;&nbsp;<br>" 
32.
      inhalt = inhalt &  "<b>Message: " & objEvent.Message & "</b><br>" 
33.
      inhalt = inhalt &  "Record Number: " & objEvent.RecordNumber & "&nbsp;&nbsp;&nbsp;" 
34.
      inhalt = inhalt &  "Source Name: " & objEvent.SourceName & "&nbsp;&nbsp;&nbsp;" 
35.
      inhalt = inhalt &  "Time Written: " & objEvent.TimeWritten & "&nbsp;&nbsp;&nbsp;" 
36.
      inhalt = inhalt &  "Event Type: " & objEvent.Type & "&nbsp;&nbsp;&nbsp;" 
37.
      inhalt = inhalt &  "User: " & objEvent.User & "&nbsp;&nbsp;&nbsp;" 
38.
 
39.
      if instr(objEvent.SourceName,"Print") >=1 then 
40.
        set dateineu = fs.OpenTextFile(datei, 8) 
41.
        dateineu.write inhalt & "<br><br><br>" 
42.
        dateineu.close 
43.
        set dateineu = nothing 
44.
      end if 
45.
 
46.
Next 
47.
 
48.
wscript.echo "Arbeit getan, Herr und Meister"
PS: die if-Abfrage in den letzten Codezeilen kann bei Bedarf natürlich ersatzlos gestrichen oder verändert werden...

lg
Edi
Mitglied: Arano
01.10.2010 um 21:27 Uhr
Ich habe es lediglich um die Ausgabe in einer html-Datei erweitert - no big deal...
PAH, "nur" die Dateierweiterung von txt auf html zu ändern macht aus dem Inhalt noch lange kein HTML - auch nicht wenn man ein paar HTML-Tags verwendet !

Ich frage mich gerade warum ich das jetzt eigentlich gemacht habe - zumal ich noch nie etwas in VBS gemacht habe, aber löschen will ich es jetzt auch nicht mehr... Damit bekommst du deine HTML-Ausgabe (Strict & Valide & und mit Javascript geschmückt):
01.
strLogfileName = "c:\logfile.html" 
02.
strComputer    = "." 
03.
 
04.
CONST EVENTTYPE_ERROR             = "1" 
05.
CONST EVENTTYPE_WARNING           = "2" 
06.
CONST EVENTTYPE_INFORMATION       = "3" 
07.
CONST EVENTTYPE_SUCCESSAUDIT      = "4" 
08.
CONST EVENTTYPE_FAILUREAUDIT      = "5" 
09.
 
10.
 
11.
' oeffne logdatei zum schreiben 
12.
Set objFs      = CreateObject("Scripting.FileSystemObject") 
13.
Set hndLogfile = objFs.createtextfile(strLogfileName, true) 
14.
' schriebe html-header 
15.
hndLogfile.write "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01//EN""" & VBCRLF _ 
16.
                &"    ""http://www.w3.org/TR/html4/strict.dtd"">" & VBCRLF _ 
17.
                &"<html>" & VBCRLF _ 
18.
                &"  <head>" & VBCRLF _ 
19.
                &"    <title>Ereignisanzeige</title>" & VBCRLF _ 
20.
                &"    <style type=""text/css"">" & VBCRLF _ 
21.
                &"      <!--" & VBCRLF _ 
22.
                &"        html, body        { margin:0px; padding:0px; }" & VBCRLF _ 
23.
                &"        div.event span    { display:block; cursor:pointer; }" & VBCRLF _ 
24.
                &"        div.event:link," & VBCRLF _ 
25.
                &"        div.event:visited { background-color:#000000; }" & VBCRLF _ 
26.
                &"        div.event:hover," & VBCRLF _ 
27.
                &"        div.event:active  { background-color:#f0f0f0; }" & VBCRLF _ 
28.
                &"      -->" & VBCRLF _ 
29.
                &"    </style>" & VBCRLF _ 
30.
                &"    <script type=""text/javascript"">" & VBCRLF _ 
31.
                &"      <!--" & VBCRLF _ 
32.
                &"        var eventColorOpened = ""#f0f0f0"";" & VBCRLF _ 
33.
                &"        var eventColorClosed = ""#ffffff"";" & VBCRLF _ 
34.
                &"        function toggle_events(IDS)" & VBCRLF _ 
35.
                &"        {" & VBCRLF _ 
36.
                &"            for(var x=0; x<IDS.length; ++x)" & VBCRLF _ 
37.
                &"            {" & VBCRLF _ 
38.
                &"                document.getElementById(""event_details_""+IDS[x]).style.display = ""none"";" & VBCRLF _ 
39.
                &"            }" & VBCRLF _ 
40.
                &"        }" & VBCRLF _ 
41.
                &"        function toggle_event(ID)" & VBCRLF _ 
42.
                &"        {" & VBCRLF _ 
43.
                &"            var event        = document.getElementById(""event_""+ID);" & VBCRLF _ 
44.
                &"            var eventDetails = document.getElementById(""event_details_""+ID);" & VBCRLF _ 
45.
                &"            if(eventDetails.style.display != ""block"")" & VBCRLF _ 
46.
                &"            {" & VBCRLF _ 
47.
                &"                eventDetails.style.display  = ""block"";" & VBCRLF _ 
48.
                &"                event.style.backgroundColor = eventColorOpened;" & VBCRLF _ 
49.
                &"            }" & VBCRLF _ 
50.
                &"            else" & VBCRLF _ 
51.
                &"            {" & VBCRLF _ 
52.
                &"                eventDetails.style.display  = ""none"";" & VBCRLF _ 
53.
                &"                event.style.backgroundColor = eventColorClosed;" & VBCRLF _ 
54.
                &"            }" & VBCRLF _ 
55.
                &"        }" & VBCRLF _ 
56.
                &"      -->" & VBCRLF _ 
57.
                &"    </script>" & VBCRLF _ 
58.
                &"  </head>" & VBCRLF _ 
59.
                &"  <body>" & VBCRLF & VBCRLF _ 
60.
                &"  <h1>Ereignisanzeige</h1>" & VBCRLF _ 
61.
                &VBCRLF 
62.
                 
63.
' tue erstelle hole... keine ahnung was 
64.
Set objWMIService  = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2") 
65.
' query systemlog 
66.
strSelectSystemlog = "Select * from Win32_NTLogEvent Where Logfile = 'System'" _ 
67.
                    &"AND EventType <= " & EVENTTYPE_WARNING _ 
68.
                    &"AND SourceName = 'Print'" 
69.
'                    &"AND SourceName = 'EventLog'" 
70.
'                    &"" 
71.
' query ausfuehren 
72.
Set colLoggedEvents = objWMIService.ExecQuery(strSelectSystemlog) 
73.
 
74.
Dim strEventIds 
75.
For Each objEvent In colLoggedEvents 
76.
    hndLogfile.write "<div class=""event"" id=""event_"& objEvent.RecordNumber &""">" & VBCRLF _ 
77.
                    &"  <span onclick=""toggle_event('" & objEvent.RecordNumber & "')"">" _ 
78.
                    &     objEvent.Type         & " - " & objEvent.User      & " @ " _ 
79.
                    &     objEvent.ComputerName & " : " & objEvent.EventCode & " = " _ 
80.
                    &     objEvent.SourceName _ 
81.
                    &"  </span>" & VBCRLF _ 
82.
                    &"  <ul id=""event_details_" & objEvent.RecordNumber & """>" & VBCRLF _ 
83.
                    &"    <li>Category: " & objEvent.Category & "</li>" & VBCRLF _ 
84.
                    &"    <li>Computer Name: " & objEvent.ComputerName & "</li>" & VBCRLF _ 
85.
                    &"    <li>Event Code: " & objEvent.EventCode & "</li>" & VBCRLF _ 
86.
                    &"    <li>Message: " & objEvent.Message & "</li>" & VBCRLF _ 
87.
                    &"    <li>Record Number: " & objEvent.RecordNumber & "</li>" & VBCRLF _ 
88.
                    &"    <li>Source Name: " & objEvent.SourceName & "</li>" & VBCRLF _ 
89.
                    &"    <li>Time Written: " & objEvent.TimeWritten & "</li>" & VBCRLF _ 
90.
                    &"    <li>Event Type: " & objEvent.Type & "</li>" & VBCRLF _ 
91.
                    &"    <li>User: " & objEvent.User & "</li>" & VBCRLF _ 
92.
                    &"  </ul>" & VBCRLF _ 
93.
                    &"</div>" & VBCRLF _ 
94.
                    & VBCRLF 
95.
    strEventIds = strEventIds & ",'" & objEvent.RecordNumber & "'" 
96.
Next 
97.
 
98.
' entferne das komma am anfang der zeichenkette 
99.
strEventIds = Mid(strEventIds, 2) 
100.
 
101.
' schreibe footer in logdatei 
102.
hndLogfile.write "    <script type=""text/javascript"">" & VBCRLF _ 
103.
                &"      <!--" & VBCRLF _ 
104.
                &"        toggle_events(new Array(" & strEventIds & "));" & VBCRLF _ 
105.
                &"      -->" & VBCRLF _ 
106.
                &"    </script>" & VBCRLF _ 
107.
                &"  </body>" & VBCRLF _ 
108.
                &"</html>" 
109.
' schließe logdatei 
110.
hndLogfile.close 
111.
Set hndLogfile = nothing 
112.
 
113.
' melde beendete arbeit 
114.
wscript.echo "Das aktuelle Sytemlog steht nun in einer HTML-Version zur ferfuegung." & VBCRLF & strLogfile 
115.
 
116.
' ENDE
Hab es nebenbei auch gleich noch etwas überarbeitet

~Arano
Bitte warten ..
Mitglied: mkrasselt1
09.10.2010 um 11:17 Uhr
welche scriptsprache ist das ?
Bitte warten ..
Mitglied: Arano
09.10.2010 um 11:25 Uhr
Hallo mkrasselt1

Das ist VBS - Visual Basic Script

Einfach alles kopieren und in z.B.: "syslogToHtml.vbs" speichern.
Die Datei kann dann auch per Doppelklick ausgeführt werden - dauert ein bisschen.

~Arano
Bitte warten ..
Mitglied: mkrasselt1
09.10.2010 um 11:44 Uhr
Hallo Arno,
danke, hat fast funktioniert.
er zeigt mir einen Fehler in
zeile 13
Zeichen 1
Fehler: Ungültiger Prozeduraufruf oder ungültiges Argument
Code: 800A0005
Quelle: Laufzeitfehler in Mircrosoft VB Script
Sagt dir das was ?
ist nicht dringend, aber ich sammle solche system Scripte, hab später mal was damit vor ...

Michael
Bitte warten ..
Mitglied: Arano
09.10.2010 um 12:01 Uhr
Hm...

...das ist ja blöde jetzt oO
Wie ich schon im meinem erstem Beitrag schrieb, habe ich keine Ahnung von VBS bzw. waren das meine ersten Erfahrungen mit VBS.
Zeile 13 Teichen 1 ?
Ich glaube es zwar nicht ganz, aber versuch mal das "set" in Zeile 13 durch "Set" zu ersetzen.


~Arano
Bitte warten ..
Mitglied: mkrasselt1
09.10.2010 um 12:23 Uhr
Aha,
es war nicht nur das "S"
sonder auch die Variable die du verwendet hast:
Deins:
01.
Set hndLogfile = objFs.createtextfile(strLogfile, true)
Richtig:
01.
Set hndLogfile = objFs.createtextfile(strLogfileName, true)
Wie du verstehe ich übrigens nicht das geringste von VB

Michael
Bitte warten ..
Mitglied: Arano
10.10.2010 um 17:20 Uhr
Oh man...

Wollte das schon gestern machen, kam aber nicht dazu weil men Rechner mich nicht lässt.
Jetzt sitze ich an 500Mhz oO (Gedult ist eine Tugent die ich noch üben muss )

Nun gut, interessanterweise habe ich den Fehler __nicht__ in meiner Datei stehen, keine Ahnung wie ich den ins Forum bekommen habe !?

Habe es jedenfalls in meinem Post korrigiert, so das es dort nun richtig steht.


Einen schönen Sonntag noch
~Arano
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
HTML
gelöst JSONP Callback in HTML ausgeben (16)

Frage von maddig zum Thema HTML ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...