'v2.3***************************************************** ' File: ipnetz-loginscr.vbs ' Autor: dieseyer@gmx.de ' dieseyer.de ' ' Ermittelt das aktuelle IP-Netz und startet je nach ' Netz ein anderes Script. ' ' Sinnvoll als LoginScript in einem Netz mit mehreren ' IP-Netzen. '********************************************************* ' Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl Set WSHShell = WScript.CreateObject("WScript.Shell") Set WSHEnvX = WSHShell.Environment("Process") Set FSO = CreateObject("Scripting.FileSystemObject") Set WSHNet = WScript.CreateObject("WScript.Network") IPadr1 = "172.21.17." ' IP-Bereich 1 IPadr2 = "192.168.150." ' IP-Bereich 2 IPadr3 = "172.21.19." ' IP-Bereich 3 IPadr4 = "172.21.21." ' IP-Bereich 4 IPadr5 = "10.8.103." PCname = LCase(wshnet.ComputerName) Ziel = PCname & ".tmp" WshShell.run ("%comspec% /c Ping " & PCname & " -n 1 -w 500 > " & Ziel),0,true ' PING nur einmal ausführen Set FileIn = fso.OpenTextFile(Ziel, 1 ) ' Datei zum Lesen öffnen TextX = FileIn.ReadAll ' alles lesen FileIn.Close Set FileIn = nothing if fso.FileExists(Ziel) Then fso.DeleteFile(Ziel), True ' Datei löschen TextX = Split(TextX,vbCrLf,1) ' alles gelesene in Zeilen aufteilen for i = 0 to ubound(TextX) ' jede Zeile überprüfen if InStr(TextX(i), IPadr1) > 1 then Bereich = "IP1.vbs" if InStr(TextX(i), IPadr2) > 1 then Bereich = "IP2.vbs" if InStr(TextX(i), IPadr3) > 1 then Bereich = "IP3.vbs" if InStr(TextX(i), IPadr4) > 1 then Bereich = "IP4.vbs" if InStr(TextX(i), IPadr5) > 1 then Bereich = "IP5.vbs" next MsgBox Bereich, , WScript.ScriptName ' WshShell.run(Bereich)