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

Eventlog mittels VBScript auslesen

Frage Entwicklung VB for Applications

Mitglied: ScaryDaniel

ScaryDaniel (Level 1) - Jetzt verbinden

30.07.2011 um 20:30 Uhr, 6863 Aufrufe, 4 Kommentare

Hallo an alle! (=

Ich befasse mich gerade neu mit VBS und bin daher vorerst auf eure Unterstützung angewiesen. (=

Ich benötige ein VBScript welches mir Rückgabewerte aus dem Windows-Eventlog für
- die Anzahl der Fehler und Warnungen für den aktuellen
- die Anzahl der Gesamtfehler und -warnungen
- sowie den Text des letzten Fehlers bzw. Warnung
liefert.

Müsste unter Windows Server 2003 und 2008 lauffähig sein.

Soweit bin ich schon mal:

'VBScript

strComputer = "." 'Den aktuellen Computer durchsuchen
Set objWMIService = GetObject("winmgmts:" & "\\" & "localhost" & "\root\cimv2") 'WMI zum durchsuchen nutzen


'Auslesen der Nachricht der letzten Warnung bzw. des letzten Fehlers

Set letztesEvent = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent where (EventType = '1' OR EventType = '2')") 'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung)

For Each objEvent In letztesEvent
letzte_Nachricht = objEvent.Message 'Schleife ??? etc.
Next


'Auslesen der Anzahl und Warnungen des aktuellen Tags

Set FehlerWarnungenTag = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent where (EventType = '2' OR EventType = '2') and where TimeWritten.Date = ' '") 'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung)
Anzahl_Events_Tag = FehlerWarnungenTag.Count


'Auslesen der Anzahl und Warnungen (gesamt)

Set FehlerWarnungenGesamt = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent where (EventType = '3' OR EventType = '2')") 'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung)
Anzahl_Events_Gesamt = FehlerWarnungenGesamt.Count


'Anzeige der Werte in einer Windows-Box (optional)

wscript.echo "Letzte Nachricht: " & letzte_Nachricht & vbLf & "Anzahl Fehler/Warnungen heute: " & Anzahl_Events_Tag & vbLf & "Anzahl Fehler/Warnungen Gesamt: " & Anzahl_Events_Gesamt


'Werte in vorhandene Textdatei schreiben (optional)

Set ZugriffDatei = CreateObject("Scripting.FileSystemObject") 'Erzeugen eines Objekts für den Zugriff auf das Dateisystem
Set Datei = ZugriffDatei.OpenTextFile("E:\dd.txt",2,True) 'Mit dem erzeugten Objekt Textdatei E:\dd.txt im Schreibmodus (2) öffnen bzw. erstellen wenn nicht vorhanden (True)

Datei.writeLine "Nachricht der letzten Warnung bzw. des letzten Fehlers: " & letzte_Nachricht
Datei.writeLine "Anzahl und Warnungen des aktuellen Tags: " & Anzahl_Events_Tag
Datei.writeLine "Anzahl und Warnungen (gesamt): " & Anzahl_Events_Gesamt

Datei.close 'E:\dd.txt schließen



Wie kann ich die Abfrage für die Anzahl der Fehler/Warnungen pro Tag so anpassen, dass diese stimmt?
Und was genau bedeutet "Set objWMIService = GetObject("winmgmts:" & "\\" & "localhost" & "\root\cimv2")" und "Set letztesEvent = objWMIService.ExecQuery _"

Danke! (=


PS: Nicht schlecht für das erste VBScript oder? (=
Mitglied: Friemler
31.07.2011 um 00:49 Uhr
Hallo ScaryDaniel,

Zitat von ScaryDaniel:
PS: Nicht schlecht für das erste VBScript oder?
hm na ja, Copy&Paste machen noch keinen Scripter...


Hier mal eine Version, die auch das Problem der Anzahl Fehler/Warnungen des aktuellen Tages löst:
01.
 'Den aktuellen Computer durchsuchen 
02.
strComputer          = "." 
03.
 
04.
'Objekt für den Zugriff auf WMI erzeugen, das mit dem Namespace CIMV2 verbunden ist 
05.
Set objWMIService    = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
06.
Set objSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime") 
07.
 
08.
 
09.
'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung) 
10.
Set colAllEvents = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent " & _ 
11.
                                           "WHERE (EventType = '1' OR EventType = '2')" _ 
12.
13.
 
14.
'Auslesen der Nachricht der letzten Warnung bzw. des letzten Fehlers 
15.
'Dabei LF durch CR+LF ersetzen 
16.
For Each objEvent In colAllEvents 
17.
  strLastMessage = Replace(objEvent.Message, vbLf, vbCrLf) 
18.
  Exit For 
19.
Next 
20.
 
21.
'Ermitteln der Anzahl Fehler und Warnungen gesamt 
22.
intAllEventsCnt = colAllEvents.Count 
23.
 
24.
 
25.
'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung) vom aktuellen Tag 
26.
objSWbemDateTime.SetVarDate CDate(Date), True 
27.
 
28.
Set colEventsToday = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent " & _ 
29.
                                             "WHERE ((EventType = '1' OR EventType = '2') " & _ 
30.
                                                    "AND " & _ 
31.
                                                    "(TimeWritten >= '" & objSWbemDateTime.Value & "')" & _ 
32.
                                                   ")" _ 
33.
34.
 
35.
'Ermitteln der Anzahl Fehler und Warnungen des aktuellen Tags 
36.
intTodayEventsCnt = colEventsToday.Count 
37.
 
38.
 
39.
'Anzeige der Werte in einer Windows-Box (optional) 
40.
WScript.Echo "Letzte Nachricht:"                & vbCrLf & vbCrLf & strLastMessage & vbCrLf & _ 
41.
             "Anzahl Fehler/Warnungen heute : " & intTodayEventsCnt & vbCrLf & _ 
42.
             "Anzahl Fehler/Warnungen gesamt: " & intAllEventsCnt 
43.
 
44.
 
45.
'Werte in vorhandene Textdatei schreiben (optional) 
46.
'Erzeugen eines Objekts für den Zugriff auf das Dateisystem 
47.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
48.
 
49.
'Mit dem erzeugten Objekt Textdatei E:\dd.txt erstellen 
50.
'Wenn schon vorhanden, dann überschreiben (True) 
51.
Set objOutFile = objFSO.CreateTextFile("E:\dd.txt", True) 
52.
 
53.
objOutFile.Write     "Nachricht der letzten Warnung/des letzten Fehlers:"  & vbCrLf & vbCrLf & strLastMessage & vbCrLf 
54.
objOutFile.WriteLine "Anzahl Warnungen und Fehler heute : "                & intTodayEventsCnt 
55.
objOutFile.WriteLine "Anzahl Warnungen und Fehler gesamt: "                & intAllEventsCnt 
56.
 
57.
objOutFile.Close
Schlüssel für die Lösung war hier die Verwendung der SWbemDateTime-Klasse, die die Konvertierung des Datums in ein für WQL-Queries (WQL=WMI Query Language) geeignetes Format besorgt.

Wie Du evtl. von anderen Programmiersprachen schon weißt, sind Datums- und Zeitwerte intern vom Typ LongInteger (UNIX- bzw. C-Time, Anzahl Sekunden seit dem 1. Januar 1970 00:00 Uhr) oder Float (ein Tag wird in 86400 Sekunden zerlegt, Millisekunden sind dann Bruchteile von 1/86400, Startpunkt der Zählung ist z.B. 01.01.1900 00:00:00 Uhr o.ä.).

Wenn man also z.B. den Datumswert 31.07.2011 ins WMI-Format konvertieren lässt, wird daraus zunächst mal ein String in einem für WQL-Queries zulässigen Format, der intern von WMI in einen Zahlenwert gewandelt wird, der dem 31.07.2011 00:00:00 Uhr entspricht. Will man alle Ereignisse von heute erhalten, muss man deshalb TimeWritten und objSWbemDateTime.Value mit >= vergleichen, der Operator = würde nur Ereignisse von 00:00:00 Uhr liefern.

Wenn man z.B. alle Ereignisse vom 01.05.2010 erhalten will, benötigt man zwei Instanzen der Klasse SWbemDateTime. Eines mit dem man den Datumswert 01.05.2010 konvertiert und eines mit dem man den Datumswert 02.05.2010 konvertiert. Dann vergleicht man folgendermaßen:
01.
Set objSWbemDateTime0105 = CreateObject("WbemScripting.SWbemDateTime") 
02.
Set objSWbemDateTime0205 = CreateObject("WbemScripting.SWbemDateTime") 
03.
 
04.
objSWbemDateTime0105.SetVarDate CDate("01.05.2010"), True 
05.
objSWbemDateTime0205.SetVarDate CDate("02.05.2010"), True 
06.
 
07.
Set colEventsToday = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent " & _ 
08.
                                             "WHERE ((EventType = '1' OR EventType = '2') " & _ 
09.
                                                    "AND " & _ 
10.
                                                    "(TimeWritten >= '" & objSWbemDateTime0105.Value & "' " & _ 
11.
                                                     "AND " & _ 
12.
                                                     "TimeWritten < '" & objSWbemDateTime0205.Value & "'" & _ 
13.
                                                    ")" & _ 
14.
                                                   ")" _ 
15.
                                            )
Das Thema WMI und WMI-Klassen ist zu komplex, um hier eine befriedigende Erklärung abgeben zu können. Ich poste einfach mal ein paar Links, durch die (und noch viele mehr) Du Dich durchackern musst. Englisch sollte man so einigermaßen beherrschen.

http://msdn.microsoft.com/en-us/library/aa393687%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa389763%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa392902%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394606%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394605%28v=vs.85%29.aspx
http://technet.microsoft.com/de-de/magazine/2006.07.scriptingguy%28en-u ...
http://msdn.microsoft.com/en-us/library/aa384642%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394553%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394572%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394084%28v=VS.85%29.aspx

Gruß
Friemler
Bitte warten ..
Mitglied: rubberman
31.07.2011 um 15:15 Uhr
Hallo Zusammen und willkommen im Forum ScaryDaniel!

Ergänzend zu Friemlers Ausführungen:

Im Allgemeinen reicht ein SWbemDateTime Object:
01.
Set objSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime") 
02.
 
03.
objSWbemDateTime.SetVarDate DateSerial(2010, 5, 1), True 
04.
strSWbemDateTime1 = objSWbemDateTime.Value 
05.
objSWbemDateTime.Day = 2 
06.
strSWbemDateTime2 = objSWbemDateTime.Value 
07.
 
08.
WScript.Echo strSWbemDateTime1 & "; " & strSWbemDateTime2
... aber das nur am Rande.

Wenn es um WMI geht, hat mir die ScriptomaticV2.hta schon gute Dienste geleistet. Damit kann man automatisch Scriptcode erzeugen und Änderungen testen.
Bei aktivem UAC (Vista, Win7) muss man diese allerdings als Admin rennen lassen. Dazu habe ich mir diesen Batch geschrieben, der per Rechsklick > "Als Administrator ausführen" die HTA mit entsprechenden Rechten startet:
01.
@echo off &setlocal 
02.
 
03.
:: Prüfen, ob der Batch mit administrativen Rechten gestartet wurde. 
04.
fsutil fsinfo drives|findstr /c:":\\">nul ||( 
05.
  echo Run as Admin! 
06.
  pause>nul 
07.
  goto :eof 
08.
09.
 
10.
:: Sorgt dafür, dass temporäre Script-Dateien in %temp% angelegt werden. 
11.
cd /d "%temp%" 
12.
 
13.
:: Scriptomatic mit hoher Priorität starten 
14.
start "" /realtime "%SystemRoot%\system32\mshta.exe" "%~dp0ScriptomaticV2.hta"
Grüße
rubberman
Bitte warten ..
Mitglied: ScaryDaniel
31.07.2011 um 17:33 Uhr
Hallo und danke für die Antworten! (=

Allerdings glaube ich kaum, dass mich ein Copy&Paste á la Guttenberg hier sinnvoll ans Ziel geführt hätte.
Logo hab ich den ganzen Tag gegoogelt. Aber ich hab mir das Script dann alleine zusammengestellt UND auch verstanden was da vor sich geht.
Und daher finde ich, dass das ne gute Leistung war! (-;

Ich habe den Teil mit der Anzahl pro Tag jetzt in mein Script reingebaselt, funktioniert super, vielen vielen Dank!

Allerdings habe ich noch ein paar Fragen:
"objSWbemDateTime.SetVarDate CDate(Date), True" generiert ja das aktuelle Datum im passenden WMI-Format, aber welcher Wert (CDDate, Date, True) bedeutet genau was?
"winmgmts:\\" & strComputer & "\root\cimv2" --> winmgmts.exe ist mir denk ich bekannt, aber warum winmgmts:\\? strComputer ist klar. Was hat es noch mit dem Namespace auf sich?
Und warum wird bei der Abfrage nach der letzten Nachricht auch wirklich die letzte Nachricht genommen, obwohl dieses gar nicht explizit angegeben ist? Es werde ja alle Events abgerufen, wird automatisch das aktuelles zuerst genommen? Dann würde ich es verstehen. (=
Bei meinem Script werden nur die Windows Protokolle abgefragt, bei Fremlier allerdings auch die Anwendungs - und Dienstprotokolle habe ich festgestellt. Ich sehe aber keinen Unterschied in den Scripten, der dies hervorruft!?

Hier mein Script:
01.
  
02.
'VBScript 
03.
 
04.
 
05.
'Erzeugen eines Objekts, das mit dem Namespace CIMV2 verbunden ist, für den Zugriff auf WMI zum durchsuchen des lokalen PCs  
06.
Set ZugriffWMI = GetObject ("winmgmts:\\" & "localhost" & "\root\cimv2")  
07.
 
08.
 
09.
'Erzeugen eines Objekts zur Zeit-/Datumsbearbeitung und anschließendes generieren des aktuellen 
10.
'Datums im passenden Format für WMI (wie TimeWrtitten z. B. 20110731000000.000000+120) 
11.
Set Zeit = CreateObject("WbemScripting.SWbemDateTime") 
12.
Zeit.SetVarDate CDate(Date), True 
13.
Zeit_test1 = Zeit.Value 
14.
 
15.
'Abfrage aller Fehler (Eventtyp 1) und Warnungen (Eventtyp 2) aus der Ereignisanzeige des aktuellen 
16.
'Tages (mithilfe von TimeWrtitten und dem generierten Datum) und anschließendes speichern der Anzahl 
17.
Set FehlerWarnungenGesamt = ZugriffWMI.ExecQuery _ 
18.
("SELECT * FROM Win32_NTLogEvent WHERE (EventType = '3' OR EventType = '3') AND (TimeWritten >= '" & Zeit & "')") 
19.
	Anzahl_Tag = FehlerWarnungenGesamt.Count 
20.
 
21.
 
22.
'Abfrage aller Fehler (Eventtyp 1) und Warnungen (Eventtyp 2) aus der Ereignisanzeige 
23.
'und anschließendes speichern der Anzahl 
24.
Set FehlerWarnungenTag = ZugriffWMI.ExecQuery _ 
25.
("Select * from Win32_NTLogEvent WHERE (EventType = '3' OR EventType = '2')") 
26.
	Anzahl_Gesamt  = FehlerWarnungenTag.Count 
27.
 
28.
 
29.
'Abfrage aller Ereignisse aus der Ereignisanzeige mit dem Eventtyp 1 (Fehler) und 2 (Warnung) und mithilfe einer 
30.
'For-Each-Next-Schleife das erste Ereignis (ist automatisch das aktuellste) speichern 
31.
Set letztesEvent = ZugriffWMI.ExecQuery ("SELECT * FROM Win32_NTLogEvent WHERE (EventType = '3' OR EventType = '3')")  
32.
	For Each objEvent In letztesEvent 
33.
	    letzte_Nachricht = objEvent.Message 
34.
	Next 
35.
 
36.
 
37.
'geforderte Rückgabewerte: 
38.
'Anzahl der Fehler/Warnungen pro Tag --> Anzahl_Tag 
39.
'Anzahl der Gesamtfehler/Warnungen   --> Anzahl_Gesamt 
40.
'Text des letzten Fehlers/Warnung    --> letzte_Nachricht 
41.
 
42.
 
43.
'Anzeige der Werte in einer Windows-Box (optional) 
44.
 
45.
wscript.echo 	"Anzahl Fehler/Warnungen heute: "   & Anzahl_Tag 	& VbLf & _ 
46.
		"Anzahl Fehler/Warnungen Gesamt: "  & Anzahl_Gesamt 	& VbLf & VbLf & _	 
47.
		"Letzte Nachricht: "		    			& VbLf & _ 
48.
		letzte_Nachricht	 
49.
 
50.
	      
51.
'Werte in vorhandene Textdatei schreiben (optional) 
52.
 
53.
Set ZugriffDatei = CreateObject("Scripting.FileSystemObject")	'Erzeugen eines Objekts für den Zugriff auf das Dateisystem 
54.
Set Datei = ZugriffDatei.OpenTextFile("E:\dd.txt",2,True) 	'Textdatei im Schreibmodus (2) öffnen bzw. erstellen wenn nicht vorhanden (True) 
55.
 
56.
 Datei.writeLine "Anzahl und Warnungen des aktuellen Tags: " & Anzahl_Tag 
57.
 Datei.writeLine "Anzahl und Warnungen (gesamt): " & Anzahl_Gesamt 
58.
 Datei.writeLine 'Leerzeile 
59.
 Datei.writeLine "Nachricht der letzten Warnung bzw. des letzten Fehlers: " 
60.
 Datei.writeLine letzte_Nachricht 
61.
 
62.
Datei.close 'E:\dd.txt schließen
Bitte warten ..
Mitglied: rubberman
31.07.2011 um 22:15 Uhr
Hallo ScaryDaniel.

Zitat von ScaryDaniel:
"objSWbemDateTime.SetVarDate CDate(Date), True" generiert ja das aktuelle Datum im passenden WMI-Format, aber welcher Wert (CDDate, Date, True) bedeutet genau was?

Die Date Funktion gibt das derzeitige Datum zurück.
CDate würde einen String in einen Datumswert umwandeln. Diese Funktion ist an der Stelle unnötig, da Date schon einen Wert im richtigen Format liefert.
Das "True" gehört zur SetVarDate Methode und spezifiziert, dass die lokale Zeiteinstellung zugrunde gelegt wird.

Zitat von ScaryDaniel:
"winmgmts:\\" & strComputer & "\root\cimv2" --> winmgmts.exe ist mir denk ich bekannt, aber warum winmgmts:\\? strComputer ist klar. Was hat es noch mit dem Namespace auf sich?

Das ist schlicht und einfach die entsprechende Syntax, die benötigt wird um mit der GetObject Funktion das richtige Objekt zu referenzieren.

Zitat von ScaryDaniel:
Und warum wird bei der Abfrage nach der letzten Nachricht auch wirklich die letzte Nachricht genommen, obwohl dieses gar nicht explizit angegeben ist? Es werde ja alle Events abgerufen, wird automatisch das aktuelles zuerst genommen? Dann würde ich es verstehen. (=

Es wird eine Sammlung von Events zurückgegeben, deren Elemente in chronologisch umgekehrter Reihenfolge kommen (das jüngste zuerst).

Zitat von ScaryDaniel:
Bei meinem Script werden nur die Windows Protokolle abgefragt, bei Fremlier allerdings auch die Anwendungs - und Dienstprotokolle habe ich festgestellt. Ich sehe aber keinen Unterschied in den Scripten, der dies hervorruft!?

Keine Ahnung. Ihr fragt unterschiedlich Eventtypen ab. Hast du verifiziert, ob es entsprechende Events für die von dir abgefragten Typen gibt?

Grüße
rubberman

PS: Für alle von mir kursiv gesetzten Funktionen und Methoden findest du eine Referenz im MSDN.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

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

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

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 (14)

Frage von liquidbase zum Thema Windows Update ...