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

Zentrale und automatisierte Bereitstellung aller Windows Logfiles

Frage Microsoft Windows Tools

Mitglied: eismanhobbit

eismanhobbit (Level 1) - Jetzt verbinden

06.07.2007, aktualisiert 24.07.2007, 3403 Aufrufe, 6 Kommentare

Hallo

vielleicht kann mir ja jemand weiterhelfen.
Ich suche eine Möglichkeit, ein Tool oder irgendetwas, mit dem ich automatisiert alle Windows-Server Logfiles zentral der Geschäftsführung zur Verfügung stellen kann.
Da die Jungs ein normales File nicht auslesen können und ich vielleicht auch noch Dinge filtern können muß wäre es ganz gut, wenn das Tool die Daten etwas aufbereitet und z.B als HTML-Seite darstellt.
Jedenfalls sollte ein normaler Nutzer an den Daten auch etwas erkennen können

Wenn ihr mir helfen könnt, wäre ich sehr dankbar und wenn ihr konkrete Fragen habt beantworte ich dies natürlich gerne.
Hilft mir ja im endeffekt weiter )

Gruß
Mitglied: Phil83
06.07.2007 um 13:06 Uhr
Hi,

ich habe mir ein VBScript geschrieben das mir einmal in der Woche von all meinen Windows Servern die Eventlogs ausliest, nach Critical sortiert und mir das ganze als HTML Email schickt. Wenn du Interesse hast schick ich dir das Script und beantworte gerne deine Fragen dazu.

MfG
Phil
Bitte warten ..
Mitglied: eismanhobbit
06.07.2007 um 13:17 Uhr
Hallo
oh, vielen Dank.
Leider habe ich keine Ahnung von Programmierung aber es wäre sehr nett, wenn du es mir zuschicken könntest und mir vielleicht auch dazuschreiben könntest wie man es "installiert" oder anwendet
Schicke es doch bitte an thomas (at) eissner.net

Danke schonmal
Bitte warten ..
Mitglied: Phil83
06.07.2007 um 13:52 Uhr
Hi,

hier das Script, einfach kopieren und als read.vbs speichern. In den ersten paar Zeilen bitte die Einstellungen abändern. Aufruf über cmd oder Batch Datei mittels: "read.vbs Servername"

01.
'--------------------------------------------------Settings------------------------------------------------- 
02.
'Gibt die Maximale Anzahl der zurückgelieferten Einträge an 
03.
'Werte für System Log 
04.
maxwert = 50 
05.
'Werte für Application Log 
06.
maxwert2 = 25 
07.
'gibt an wieviele Tage zurück gegangen werden soll 
08.
zeitsp = 7 
09.
'Email Settings 
10.
absender = "absender@domain.de" 
11.
mailserver = "mailserver.domain.de" 
12.
empfanger = "empfanger@domain.de" 
13.
'--------------------------------------------Settings End--------------------------------------------------- 
14.
 
15.
Set oArg = wscript.arguments 
16.
strServer = oArg(0) 
17.
mail = "" 
18.
mail2 = "" 
19.
ifertig = "False" 
20.
i2fertig = "False" 
21.
if isOnline(strServer) Then 
22.
Set objWMI = GetObject("winmgmts://" & strServer & "/root\cimv2") 
23.
Set objInstances = objWMI.ExecQuery ("Select * from Win32_NTLogEvent WHERE Logfile = 'System' and EventType = 1") 
24.
Set objInstances2 = objWMI.ExecQuery ("Select * from Win32_NTLogEvent WHERE Logfile = 'Application' and EventType = 1") 
25.
dim f 
26.
Else  
27.
wscript.quit 
28.
End if 
29.
 
30.
    mail = "<h1>System Events:</h1><br><TABLE Border=1>" & chr(13) 
31.
    mail = mail & "<Tr>" & chr(13) 
32.
    mail = mail &   "<TD>ComputerName</TD>"& chr(13) 
33.
    mail = mail &  "<TD>EventCode</TD>"& chr(13) 
34.
    mail = mail &   "<TD>Message</TD>"& chr(13) 
35.
    mail = mail &   "<TD>SourceName </TD>"& chr(13) 
36.
    mail = mail &  "<TD>TimeGenerated </TD>"& chr(13) 
37.
    mail = mail &   "</TR>"& chr(13) 
38.
         
39.
    mail2 = "<br><h1>Application Events:</h1><br><TABLE border=1>" & chr(13) 
40.
    mail2 = mail2 & "<Tr>" & chr(13) 
41.
    mail2 = mail2 &   "<TD>ComputerName</TD>"& chr(13) 
42.
    mail2 = mail2 &  "<TD>EventCode</TD>"& chr(13) 
43.
    mail2 = mail2 &   "<TD>Message</TD>"& chr(13) 
44.
    mail2 = mail2 &   "<TD>SourceName</TD>"& chr(13) 
45.
    mail2 = mail2 &  "<TD>TimeGenerated </TD>"& chr(13) 
46.
    mail2 = mail2 &   "</TR>"& chr(13) 
47.
 
48.
dat = now() - zeitsp 
49.
i = 0 
50.
i2 = 0 
51.
 
52.
For Each objInstance in objInstances 
53.
        dat1 = objInstance.TimeGenerated 
54.
        dat1 = dConvertWMItoVBSDate(dat1) 
55.
                if i < maxwert and dat1 > dat Then 
56.
                        With objInstance             
57.
                        mail = mail &   "<Tr>"& chr(13) 
58.
                        mail = mail &   "<TD>" & .ComputerName & "</TD>"& chr(13) 
59.
                        mail = mail &   "<TD>" & .EventCode & "</TD>"& chr(13) 
60.
                        mail = mail &  "<TD>" & .Message & "</TD>"& chr(13) 
61.
                        mail = mail &   "<TD>" & .SourceName & "</TD>"& chr(13) 
62.
                        mail = mail &   "<TD>" & dConvertWMItoVBSDate(.TimeGenerated) & "</TD>"& chr(13) 
63.
                        mail = mail &   "</TR>"& chr(13) 
64.
                        i = i +1 
65.
                        End With 
66.
                        On Error Goto 0 
67.
                Elseif i > maxwert Then 
68.
                        ifertig="True" 
69.
                        exit for 
70.
                Elseif dat1 < dat Then 
71.
                        ifertig="True" 
72.
                        exit for 
73.
                end if 
74.
Next 
75.
 
76.
For Each objInstance in objInstances2 
77.
  dat1 = objInstance.TimeGenerated 
78.
        dat1 = dConvertWMItoVBSDate(dat1) 
79.
if i2< maxwert2 and dat1 > dat Then 
80.
                    With objInstance            
81.
                        mail2 = mail2 &   "<Tr>"& chr(13) 
82.
                        mail2 = mail2 &   "<TD>" & .ComputerName & "</TD>"& chr(13) 
83.
                        mail2 = mail2 &   "<TD>" & .EventCode & "</TD>"& chr(13) 
84.
                        mail2 = mail2 &   "<TD>" & .Message & "</TD>"& chr(13) 
85.
                        mail2 = mail2 &   "<TD>" & .SourceName & "</TD>"& chr(13) 
86.
                        mail2 = mail2 &   "<TD>" & dConvertWMItoVBSDate(.TimeGenerated) & "</TD>"& chr(13) 
87.
                        mail2 = mail2 & "</TR>" & chr(13) 
88.
                        i2 = i2 +1 
89.
                    End With 
90.
                        On Error Goto 0 
91.
                    elseif i2 > maxwert2 Then 
92.
                        i2fertig = "True" 
93.
                        exit for 
94.
                    elseif dat1 < dat Then 
95.
                        ifertig="True"   
96.
                    exit for                         
97.
                End if 
98.
Next 
99.
 
100.
        mail = mail &   "</Table>"& chr(13) 
101.
        mail2 = mail2 &   "</Table>"& chr(13) 
102.
        Set objEmail = CreateObject("CDO.Message") 
103.
        objEmail.From = absender 
104.
        objEmail.To = empfanger 
105.
        objEmail.Subject = "Logwatch " & strserver & " - System Items: " & i & " Application Items: " & i2 
106.
        objEmail.HTMLbody = "<HTML><Body>" & mail & "<br>" & mail2 & "</body></html>" 
107.
        objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
108.
        objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailserver 
109.
        objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
110.
        objEmail.Configuration.Fields.Update 
111.
        objEmail.Send 
112.
wscript.quit 
113.
 
114.
 
115.
function IsOnline(host) 
116.
set WshShell = CreateObject("Wscript.Shell") 
117.
set temp = wshshell.Exec ("ping.exe -n 1 -w 100 "&host) 
118.
dummy = temp.StdOut.ReadAll 
119.
IF instr(1,dummy,"Antwort") >0 THEN 
120.
isonline = true 
121.
ELSE 
122.
isonline = false 
123.
END IF 
124.
end Function 
125.
 
126.
Private Function dConvertWMItoVBSDate(sDate) 
127.
  Dim sMonth, sDay, sYear, sHour, sMinutes, sSeconds 
128.
  sMonth = Mid(sDate,5,2) 
129.
  sDay = Mid(sDate,7,2) 
130.
  sYear = Mid(sDate,1,4) 
131.
  sHour = Mid(sDate,9,2) 
132.
  sMinutes = Mid(sDate,11,2) 
133.
  sSeconds = Mid(sDate,13,2) 
134.
  dConvertWMItoVBSDate = DateSerial (sYear, sMonth, sDay) + TimeSerial (sHour, sMinutes, sSeconds) 
135.
End Function
MfG
Phil
Bitte warten ..
Mitglied: eismanhobbit
20.07.2007 um 07:57 Uhr
Erstmal Vielen Dank

leider kenne ich mich mit Scripting noch nicht so aus.
Kannst du mir in ein paar kurzen Worten erklären, was dein Script genau macht und vielleicht noch was ich anpassen muß um meine einfachen Eventlogs auszulesen ?

Das wäre nett

Vielen Dank nochmals
eismanhobbit
Bitte warten ..
Mitglied: Phil83
20.07.2007 um 08:10 Uhr
Hi,

also zuerst kommen die Settings die du für deine Umgebung anpassen mußt. Am restlichen Script mußt du nichts mehr ändern.

Das script rufst du über script.vbs PCName auf. Das Script verbindet sich dann mit dem PC und liest das System und das Application Log aus. Das Script stopt bei 2 Dingen, erstens wenn der Maxwert erreicht ist die du in den Settings einstellst oder wenn der Eintrag älter als 7 Tage ist (auch das stellst du unter Settings ein).

Das script läuft ganz grob so ab:
- Prüft ob Rechner online ist
- Verbindet sich mit dem Eventlog des Rechners
- Es werden alle Items des System Logs ausgelesen und nach oben erklärtem Filter behandelt
- Es werden alle Items des Application Logs ausgelesen und nach oben erklärtem Filter behandelt
- Für jedes Item das auf die Filter passt wird eine Zeile einer HTML Tabelle geschrieben
- Alle geschriebenen Zeilen werden in eine HTML Datei eingefügt
- Die HTML Datei wird per Mail mit den Mail Einstellungen aus der Settings Sektion verschickt

MfG
Phil
Bitte warten ..
Mitglied: eismanhobbit
24.07.2007 um 08:51 Uhr
Huch, leider ist das Script weg

Hast du es wieder raus genommen ?
Ich hatte es noch nicht rauskopiert.

Kannst du es nochmals einstellen - Das wäre nett

Gruß und Danke
eismanhobbit
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...