Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: Edi.Pfisterer

Edi.Pfisterer (Level 2) - Jetzt verbinden

01.10.2010, aktualisiert 12:38 Uhr, 4834 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 ..
Ähnliche Inhalte
Basic

Visual Basic Script (VBS): HTML-Tabelle generieren

Tipp von GurkenhobelBasic3 Kommentare

Für all jene, die schnell mal eine simple HTML-Tabelle benötigen, ist das folgende Skript gedacht. Der Name der fertigen ...

Neue Wissensbeiträge
SAN, NAS, DAS
QNAP NAS Datenschutz-Loop nach Firmware-Update
Tipp von vanTast vor 10 StundenSAN, NAS, DAS2 Kommentare

Moin, im allgemeinen Trend seine geänderten Datenschutzbedingungen den Kunden zukommen zu lassen kam die Firma QNAP auf die glorreiche ...

Datenschutz
DSGVO Datenschutzgesetz
Anleitung von 1Werner1 vor 12 StundenDatenschutz4 Kommentare

Moin, ja was ist das, da ist die DSGVO Datenschutzverordnung. Wie das Gesetz gibt es schon 2 Jahre? Nun ...

CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 1 TagCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 3 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

LAN, WAN, Wireless
Powerline über zwei Stockwerke optimieren
gelöst Frage von DultusLAN, WAN, Wireless33 Kommentare

Guten Morgen liebes Forum, ich hätte einmal eine Frage bezüglich Powerline Adapter: Mein Problem ist seit gestern präsent, da ...

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung24 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Off Topic
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonOff Topic21 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...