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

Mitglied: L0c4lh0sT

L0c4lh0sT (Level 1) - Jetzt verbinden

09.04.2009, aktualisiert 09:04 Uhr, 5579 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
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 5 MinutenHumor (lol)

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 12 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 13 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 16 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...