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, 7854 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
Microsoft Office
Word bestimmt Sprache selbst
gelöst Frage von honeybeeMicrosoft Office1 Kommentar

Hallo, habe in Word 2016 ein nerviges Problem: Auf meinem Computer (Windows 10) sind zwei Sprachen installiert: Deutsch und ...

Mac OS X
Safari öffnet bestimmt Seite nicht
Frage von tomi93Mac OS X2 Kommentare

Hallo , ich habe an einem iMac bei uns im Unternehmen das Problem das Safari dort eine bestimmte Seite ...

Batch & Shell
Checkbox Event
gelöst Frage von Markus2016Batch & Shell11 Kommentare

Hallo zusammen, benötige mal wieder Eure Unterstützung. Über "value.Add_CheckStateChanged" bekomme ich beim Auswählen einer beliebigen Checkbox immer nur den ...

Microsoft

Über VPN nur bestimmt große Daten übertragen

gelöst Frage von Peter007Microsoft5 Kommentare

Hallo zusammen, gibt es eine Möglichkeit bei Außendienstmitarbeitern die über VPN angebunden sind, die übertragbare Datenmenge zum Fileserver über ...

Neue Wissensbeiträge
Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 3 TagenWindows 71 Kommentar

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 5 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 6 TagenMicrosoft Office9 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 8 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
Utilities
Teamviewer 9.x "out of date" ??
gelöst Frage von keine-ahnungUtilities13 Kommentare

Moin at all, mein topaktueller teamviewer (alles 9.x - releases) verweigert seit heute die Arbeit und bemeckert: "the remote ...

Peripheriegeräte
PS2 Y-Kabel für Maus+Tastatur an PS2 Combo-Anschluss ASUS Prime X370-A
gelöst Frage von Windows10GegnerPeripheriegeräte12 Kommentare

Hallo, ich bin am Überlegen das o.g. Motherboard anzuschaffen. Da ich aber noch PS/2 für Maus+Tastatur benötige (bei optischen ...

Windows 10
Netzlaufwerk verschwindet (aber nur bestimmter Laufwerksbuchstabe)
gelöst Frage von survial555Windows 1010 Kommentare

Hallo, ich habe ein ganz seltsames Problem. Systemumgebung: Server 2012 R2 als DC und Windows 10 Pro als Clients ...

Voice over IP
Anbindung Telekom Cloud PBX mit Sophos SG330
gelöst Frage von macomarVoice over IP7 Kommentare

Hallo an alle, wir beabsichtigen mit unserer alten Siemens Telefonanlage auf Telekom Cloud PBX umzusteigen. Da wir eine Verwaltung ...