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

gelöst Per VBS die Ereignisanzeige auf ein bestimmtes Event hin überwachen?

Mitglied: Camelidae

Camelidae (Level 1) - Jetzt verbinden

30.03.2010 um 02:36 Uhr, 7652 Aufrufe, 5 Kommentare

Ist es möglich, die Ereignisanzeige (event log) von WinXP per VBScript zu überwachen, so dass bei der Einwahl eines VNC-Clients ein anderes Skript automatisch gestartet wird?
Beziehungsweise: ist es generell möglich, ein VBScript als Service zu starten, das dann permanent den EventLog auf einen bestimmten Event überwacht?
Wie müsste so etwas denn grob aussehen?
Bis jetzt ist es mir nur gelungen, gezielt durch den Start eines VBScripts die dann schon vorhandenen Logs nach bestimmten Ereignissen zu durchsuchen. Wie ich allerdings ein permanentes Monitoring umsetze ist mir bis jetzt leider nicht klar.
Ich würde mich sehr freuen, wenn jemand mir dabei auf die Sprünge helfen könnte.
Vielen Dank!
Mitglied: TsukiSan
30.03.2010 um 03:06 Uhr
Hallo Camelidea,

ohne dein exisitierendes Script zu kennen, gäbe es Möglichkeiten, ein VBS für eine bestimmte Zeit
am Laufen zu halten.
Du kannst das VBS aus einer Batch-Datei endlos aufrufen
01.
:Start 
02.
call meine.vbs //nologo >>MeineTextDatei.txt 
03.
goto Start
Das gäbe dir im Falle, wenn du in deinem VBS zum Beispiel Meldungen mit WSCRIPt.ECHO
ausgibst, die Daten in eine Textdatei aus.
Oder du baust dir eine Schleife in dein VBS ein und allen restlichen Code
legst du dir in eine Subroutine.
Beispiel:
01.
for i = 1 to 60   
02.
	MeineSub 
03.
	Wscript.Sleep 1000 ' für 1000ms "schlafen" 
04.
next 
05.
 
06.
Sub MeineSub() 
07.
        'Dein ganzer Code 
08.
EndSub
Aber sicher gibt es noch mehrere Möglichkeiten. Das könnte man diskutieren, wenn man dein VBS näher kennen würde.
Dann kann man die eleganteste Variante auswählen.
Eventuell ist ja schon eine von meinen beiden Möglichkeiten die Richtige für dich.

Gruss
Tsuki
Bitte warten ..
Mitglied: Tommy70
30.03.2010 um 06:35 Uhr
Auch Hallo!

Ja, ist möglich. Mittels instsrv.exe und srvany.exe kannst du ein Script als Dienst laufen lassen. Hier unter USBsecure findest du ein Beispiel wo es so gemacht wird.
Allerdings ist für deine Aufgabe wohl eher ein Trigger den du mittels Eventtriggers erstellen kannst die bessere Wahl.
Bitte warten ..
Mitglied: Camelidae
30.03.2010 um 20:40 Uhr
Hallo!

Vielen Dank euch Zweien für die Antworten!

Ich fang mal oben an.


@Tsuki:

Mein Skript durchsucht momentan bei Ausführung sämtliche EventLogs auf Einträge, die bestimmte Paramter aufweisen.
Aus diesen liest er dann eine bestimmte Information (IP-Adresse) aus.

01.
Set objWMIService = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2") 
02.
 
03.
Set colLoggedEvents = objWMIService.ExecQuery ("Select * from Win32_NTLogEvent Where EventType='3' and SourceName='WinVNC4'") 
04.
 
05.
 
06.
test = 0 
07.
 
08.
For Each objEvent In colLoggedEvents 
09.
  if test < 1 then 
10.
    last_Message = objEvent.Message 
11.
  end if 
12.
  if InStr(lcase(objEvent.Message), "connections") then 
13.
    test3 = split(objEvent.Message) 
14.
    test4 = split(test3(2),"::") 
15.
  end if 
16.
 
17.
Next
Momentan wie gesagt durchsucht er noch alle eventlogs - da werde ich noch eine Zeitabfrage einbauen. Ansonsten kriege ich nämlich immer die älteste IP geliefert und ich will ja eigentlich die neueste bzw aktuelle.
(Danach folgen noch ein paar Kleinigkeiten, die aber hier jetzt nicht von Bedeutung sind. Bei gefundener IP wird dann ein weiteres Skript ausgeführt.)
Deshalb war auch die Frage, ob ein Skript möglich wäre, das immer nur auf aktuelle Änderungen reagiert. Also Richtung Monitoring.

So, jetzt mal unter dem Gesichtspunkt, dass ich das mit 'nur die aktuellen Einträge lesen' hinbekomme (wie auch immer :/ ):

Das mit der Batch-Datei hört sich ganz gut an. Kann ich allerdings diese Dauerschleife abbrechen, wenn ich eine IP gefunden habe? Also kann ich einen Stop-Befehl von VBS zu Batch zurücksenden? Weil ansonsten läuft diese Abfrage ja weiter bis im Prinzip der PC abgeschaltet wird. Und das ist nicht nötig. Sobald eine IP gefunden wurde, brauch ich dieses EventLogs-durchsuchen eigentlich nicht mehr.

Zur anderen Version: Hier werde ich eventuell ein Problem kriegen, weil die Schleife ja nicht dauerhaft läuft sondern nur eine bestimmte Anzahl an Durchläufen macht. Ich kann aber im Voraus nicht bestimmen, wie lange es dauert, bis sich wirklich jemand per VNC einwählt. Wenn ich die Anzahl der Durchläufe hochsetze, ist das halt leider noch keine Garantie, dass das Event innerhalb dieser Durchläufe erfolgt.
Andererseits könnte man hier abfangen, falls sich zu lange niemand einwählt.


@Tommy:

Danke für den Hinweis auf die zwei *.exe. Beim Microsoft Support ist dort WinXP allerdings nicht vermerkt. Trifft das auf XP trotzdem zu, oder verdreh ich da gerade etwas?
Wie meinst du das mit dem Eventtrigger?

Danke nochmal!
Gruss,
Camelidae
Bitte warten ..
Mitglied: TsukiSan
31.03.2010 um 01:00 Uhr
Hallo Camelidea,

Wenn die VBS das erste Mal startet, ließ dir alle vorhanden IPs erst einmal ein (vielleicht in ein array).
danach läßt du dein VBS "im Kreis" laufen mit einer Zeit von 1 oder aller 10 Sekunden oder was
am besten sinnhaft ist. Die Taktzeit kannst du einstellen über den
01.
Wscript.Sleep
in Millisekunden.

Beispiel:
01.
Dim MeineIPs(254) 
02.
Set objWMIService = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2") 
03.
 
04.
Set colLoggedEvents = objWMIService.ExecQuery ("Select * from Win32_NTLogEvent Where EventType='3' and SourceName='WinVNC4'") 
05.
 
06.
 
07.
test = 0 
08.
I = 0 
09.
 
10.
For Each objEvent In colLoggedEvents 
11.
  if test < 1 then 
12.
    last_Message = objEvent.Message 
13.
  end if 
14.
  if InStr(lcase(objEvent.Message), "connections") then 
15.
    test3 = split(objEvent.Message) 
16.
    test4 = split(test3(2),"::") 
17.
    MeineIPs(I) = test4(1) 
18.
   I = I+1 
19.
  end if 
20.
 
21.
Next 
22.
 
23.
For I = 1 to 4320 ' 43200s = 12h 
24.
  PruefeIP 
25.
  Wscript.Sleep 10000 'alle 10 Sekunden weiter 
26.
next  
27.
 
28.
Sub PruefeIP() 
29.
 
30.
test = 0 
31.
I = 0 
32.
 
33.
For Each objEvent In colLoggedEvents 
34.
  if test < 1 then 
35.
    last_Message = objEvent.Message 
36.
  end if 
37.
  if InStr(lcase(objEvent.Message), "connections") then 
38.
    test3 = split(objEvent.Message) 
39.
    test4 = split(test3(2),"::") 
40.
     If   MeineIPs(I) = test4(1) then 
41.
        ' nichts machen 
42.
     Else 
43.
        ' weitere Anweisungen 
44.
        MeineIPs(I) = test4(1) 
45.
        I = I+1 
46.
    End If 
47.
  end if 
48.
 
49.
End Sub
Das ist ungetestet! Aber so ähnlich könnte der Aufbau sein. In diesem Beispiel würde der
VBS-Schnipsel über 12 Stunden laufen.
Dann müßte man sich nur noch einen "Sprung nach draußen" bauen, sprich, wie du das Script jeder Zeit beenden kannst.
Der "Affengriff" geht immer und unter den Prozessen stoppst du einfach "wsrcipt.exe"

Hoffe, erst einmal etwas weitergeholfen zu haben.

Gruss
Tsuki
Bitte warten ..
Mitglied: Tommy70
31.03.2010 um 06:26 Uhr
Zitat von Camelidae:
@Tommy:

Danke für den Hinweis auf die zwei *.exe. Beim Microsoft Support ist dort WinXP allerdings nicht vermerkt. Trifft das auf XP
trotzdem zu, oder verdreh ich da gerade etwas?
Wie meinst du das mit dem Eventtrigger?

Danke nochmal!
Gruss,
Camelidae

Hallo,

ja, die 2 Exe funktionieren auch unter XP. Habe das schon mehrfach verwendet.
Eventtriggers ist genau das was du suchst. Du musst dann nicht mehr das Eventlog durchsuchen. Mit Eventtriggers kannst du einen Trigger auf ein vordefiniertes Event setzen.
Tritt dieses Event dann ein, dann wird von Eventtriggers automatisch die vorher definierte Aktion ausgeführt.
Beispiele:
Setzen eines Triggers: eventtriggers /create /eid 7 /tr EventID7 /ru NAME /rp PASSWORT /tk "C:\Temp\Eventtriggers\mail.cmd"
Alle Trigger wieder löschen: eventtriggers /delete /TID *


Hier steht noch etwas mehr. Sonst hilft dir Google auch weiter.
Bitte warten ..
Ähnliche Inhalte
Windows Server

Printserver Ereignisanzeige - Event ohne Seitenanzahl

gelöst Frage von cuilsterWindows Server

Hallo liebes Forum, im Printserver (Win2008 R2) ist für die Druckaufträge das Logging aktiviert. Unter Ereignisanzeige Anwendungs- und Dienstprotokolle ...

Server

Bestimmte Funktionen in PHP Ubuntu überwachen

Frage von StefanKittelServer6 Kommentare

Hallo, kennt Jemand eine Möglichkeit bestimmte Funktionen in PHP zu überachen und zu protokollieren? Hintergrund ist ein "üblicher" Wordpress-Hack. ...

VB for Applications

Bestimmtes Arrayfeld mit Variable aufrufen? - VBS

gelöst Frage von gabrixlVB for Applications10 Kommentare

Hallo zusammen! Ist es möglich ein Arrayfeld mit einer Variable aufzurufen, anstatt eine Zahl zu verwenden? Das war meine ...

Visual Studio

VBS schreibt bestimmte Variable nicht in Textdatei

gelöst Frage von SaschaaaaaVisual Studio11 Kommentare

Hallo Community, kann gut sein das in dem Script ein paar mehr Fehler sind. Mir geht es aber aktuell ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing20 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware11 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement10 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...