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

VB Script ausführen wenn die IP sich ändert

Frage Entwicklung VB for Applications

Mitglied: L0c4lh0sT

L0c4lh0sT (Level 1) - Jetzt verbinden

09.04.2009, aktualisiert 09:04 Uhr, 5560 Aufrufe, 8 Kommentare

Guten Morgen,
so nachdem ich ja gestern mit godlie mein Script zum erfassen der Netzwerkumgebung gebastelt habe und es wunderbar funktioniert, kommt jetzt nochmal eine weitere Aufgabe, die ich alleine nicht zu lösen vermag.

Es geht darum, dass das Script von gestern immer ausgeführt werden soll wenn sich die IP Adresse ändert.

Frage ist nur: Wie bekomme ich raus ob sich die IP Adresse ändert? !und! wie kann ich das realisieren? Eine Dauerschleife würde sicher auf Kosten der Hardware bzw. Leistung gehen oder?

Die Programiersprache ist eigentlich egal aber VBS wäre von Vorteil. Es sollte nur ohne Benutzereingriffe und ohne Adminrechte startbar sein. Ebenfalls sollte keine bestimmt Umgebung dafür notwendig sein. Also soll es mit Windows Bordmitteln lauffähig sein.

Zeitlich gesteuert also über den Taskplaner beispielsweise ist nicht optimal da es dann zu unflexibel ist.

Hoffe mal ihr könnt mir da helfen.
Ich hab da sowiso nicht so die Ahnung von^^ Bin eher der Hardware-Mensch xD

Danke schonmal
L0c4lh0sT
Mitglied: bastla
09.04.2009 um 10:42 Uhr
Hallo L0c4lh0sT!
Eine Dauerschleife würde sicher auf Kosten der Hardware bzw. Leistung gehen oder?
Wenn Du die Wartezeit zwischen den einzelnen Checks per "WScript.Sleep Dauer in ms" überbrückst, sollte das kein Problem sein ...

Grüße
bastla
Bitte warten ..
Mitglied: L0c4lh0sT
09.04.2009 um 10:55 Uhr
Da haben wir dann aber wieder ne Abfrage die zu unflexibel ist weil sie eine Vordefinierte Zeit abläuft.

Gibt es da nicht soetwas wie ein Autorun oder Regeintrag der auf die Änderung der IP reagiert?
Ja ich weiß dafür ist es ein falsches Forum aber da ich selbst nicht weiß wie es zu realisieren ist...kann ja auch sein dass es mit VBS geht.


Mfg
L0c4lh0sT
Bitte warten ..
Mitglied: colinardo
09.04.2009 um 11:34 Uhr
Du kannst es mal mit folgendem Versuchen:
Das Script beobachtet den Registry-Key einer Netzwerkkarte und deren IP-Adresse, den musst du an deine Situtation anpassen.
Sobald sich dort der Key "IPAddress" ändert kommt es zu einem Event.

01.
Set wmiServices = GetObject("winmgmts:" _ 
02.
    & "{impersonationLevel=impersonate}!\\.\root\default") 
03.
 
04.
Set wmiSink = WScript.CreateObject("WbemScripting.SWbemSink", "SINK_")  
05.
  
06.
wmiServices.ExecNotificationQueryAsync wmiSink, _  
07.
    "SELECT * FROM RegistryValueChangeEvent WHERE Hive='HKEY_LOCAL_MACHINE' " & _ 
08.
        "AND KeyPath='SYSTEM\\CurrentControlSet\\Services\\{2716E6B8-A329-4C09-B502-CAA1A36604CF}\\Parameters\\Tcpip' AND ValueName='IPAddress'"  
09.
  
10.
  
11.
  
12.
WScript.Echo "Listening for Registry Change Events..." & vbCrLf  
13.
  
14.
While(1)  
15.
    WScript.Sleep 1000  
16.
Wend  
17.
  
18.
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext)  
19.
'Beispiel ausgabe // hier kann dann dein Script aufgerufen werden 
20.
    WScript.Echo "Received Registry Change Event" & vbCrLf & _  
21.
        wmiObject.GetObjectText_()  
22.
End Sub
Bitte warten ..
Mitglied: L0c4lh0sT
09.04.2009 um 11:48 Uhr
Schonmal ein guter Ansatz aber leider auch nicht das richtige...
Das Script soll auf ca. 3000 Rechnern ausgeführt werden. Und da ich hier dann einen Eintrag aus der Registry nehmen müsste, der auf jedem Rechner anders ist geht es so auch nicht.

Hätte vll. vorher die anzahl der PC's erwähnen sollen sry

MfG
L0c4lh0sT
Bitte warten ..
Mitglied: godlie
09.04.2009 um 12:04 Uhr
Du hast interessante Aufgabenstellungen

Naja ich könnte mir denken das es evtl. über einen Service lösbar wäre.
Im Prinzip wäre das ein VBS Script welches nach der IP sieht diese speichert.
Beim nächsten Start wieder das gleiche macht, falls IP abweicht dann starte dies und das.

Ich glaube RunAsService könntest schon mal ins Auge fassen.

http://sourceforge.net/projects/runasservice/

Ob es einen EventTrigger für IP Adress Change gibt unter Windows glaube ich fast net.
Bitte warten ..
Mitglied: L0c4lh0sT
09.04.2009 um 13:44 Uhr
Noch besser wäre es wohl nurnoch nach event id 4201 zu gehen.

Gibt es da ne möglichkeit?
Genau das ist nämlich der Event den ich brauche.
Allerdings als Information nicht als Error oder sonstiges...

MfG
L0c4lh0ST
Bitte warten ..
Mitglied: colinardo
09.04.2009 um 14:02 Uhr
Zitat von L0c4lh0sT:
Noch besser wäre es wohl nurnoch nach event id 4201 zu gehen.

welche EventSource bzw. Quelle meinst du ? -- damit es eindeutig zugeordnet werden kann !
Dann muss das noch in die WQL Query mit eingebaut werden

01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:" _ 
03.
    & "{impersonationLevel=impersonate, (Security)}!\\" & _ 
04.
        strComputer & "\root\cimv2") 
05.
 
06.
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _     
07.
    ("Select * from __instancecreationevent where " _ 
08.
        & "TargetInstance isa 'Win32_NTLogEvent' " _ 
09.
            & "and TargetInstance.EventCode = '4201' ") 
10.
 
11.
Do 
12.
    Set objLatestEvent = colMonitoredEvents.NextEvent 
13.
     WScript.Echo objLatestEvent.TargetInstance.SourceName 
14.
Loop
Bitte warten ..
Mitglied: L0c4lh0sT
05.05.2009 um 08:40 Uhr
Wow das hat super geklappt! Bin wirklich begeistert!

Jetzt muss ich nur noch mein anderes Script einbinden! Wunderbar!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
VB Script ändert Dateinamen
gelöst Frage von mschaedler1982Batch & Shell5 Kommentare

Hallo zusammen. Kurze Erläuterung zu diesem Thema. Eine Maschine legt jeden Tag zu einer bestimmten Uhrzeit sehr sehr viele ...

VB for Applications
VB-Script in VB-Script starten und Parameter übergeben
gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Windows Server
Powershell Script in Script ausführen
Frage von diematrix125Windows Server2 Kommentare

Hallo! Ich habe hier momentan zwei verschiedene Skripte: 1. Skript zum Erstellen von Usern 2. Skript zum Erstellen der ...

Batch & Shell
Probleme bei der Ausführung eines VB-Scriptes
Frage von AuricGoldfingerBatch & Shell1 Kommentar

Hallo zusammen, ich habe folgendes Script geschrieben: Leider bekomme ich bei der Ausführung den Fehler Was mache ich falsch?? ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 8 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 13 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 13 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...