Stefan Müller: ActiveX IP

Beitrag lesen

Naja mit Scripting alleine stehst du hier glaube ich ein wenig an - es kommt eine Bedingung auf dich zu die du mit konventiellem Scripting nicht mehr bewältigen kannst - du musst wissen welche IP-Adresse du haben willst.

Falls du ein Glückspilz bist und der Anzumeldende ist mit einer IP-Adresse ausgestattet, dann kannst du folgenden Weg gehen:

Windows 95/98/NT/ME/2000/XP haben ein Programm das IPCONFIG.EXE heißt. Dieses Programm zeigt immer die aktuelle Konfiguration in Sachen TCP/IP an. Von allen Netzwerkadaptern (Ethernet Adapter) Zumeist werden die die Ethernet LAN Adapter als erstes angezeigt.
Naja mit Scripting alleine stehst du hier glaube ich ein wenig an - es kommt eine Bedingung auf dich zu die du mit konventiellem Scripting nicht mehr bewältigen kannst - du musst wissen welche IP-Adresse du haben willst.

ich sah vor kurzem einen Rechner der hatte sage und schreibe 12 IP Adressen zugeteilt - 4 LAN Verbindungen und 8 VPNs. Genau mit einer kommt er zum Server mit X-Routern dazwischen - aber mit welcher ... ;-)

Falls du ein Glückspilz bist und der Anzumeldende ist mit einer IP-Adresse ausgestattet ist, dann kannst du folgenden Weg gehen:

Windows 95/98/NT/ME/2000/XP haben ein Programm das IPCONFIG.EXE heißt. Dieses Programm zeigt immer die aktuelle Konfiguration in Sachen TCP/IP an. Von allen Netzwerkadaptern (Ethernet Adapter) Zumeist werden die LAN ADapter als erstes angezeigt:

Windows 2000-IP-Konfiguration

Ethernetadapter "LAN-Verbindung":

Verbindungsspezifisches DNS-Suffix:
        IP-Adresse. . . . . . . . . . . . : 10.10.10.136
        Subnetzmaske. . . . . . . . . . . : 255.255.0.0
        Standardgateway . . . . . . . . . : 10.10.10.199

Mit einer Syntax aus der guten alten DOS Zeit kombiniert mit dem Command Interpreter kannst du die Ausgabe von IPCONFIG.EXE auswerten in dem du sagst ...

<script language="VBScript">
On Error Resume Next
Dim wsh, strLine, strIPAddress

Set wsh = CreateObject("WScript.Shell")

' windows 95/98/me
wsh.Run "command /c ipconfig > c:\ipadresse.txt",0,true

' windows NT / 2000 / xp
wsh.Run "cmd /c ipconfig > c:\ipadresse.txt",0,true

Set ts = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\temp\ipadresse.txt")

Do While Not ts.AtEndOfStream
      strLine = ts.ReadLine

If Instr(1, strLine, "IP-Ad") <> 0 Then
         strIPAddress = Trim(Split(strLine, ":")(1))

Exit Do
      End If
Loop

ts.Close: Set ts = Nothing

wsh.Run "cmd /c del c:\ipadresse.txt",0,false

Set wsh = Nothing
</script>

Ansonsten rate ich dir ein einfaches Steuerelement in VB zu schreiben und ein Socketcontrol einzubetten, eine Verbindung zum Server zu machen und die Eigenschaft LocalIP auszuwerten und zurückzugeben.

Wenn du immer eine Java VT von Microsoft zur Verfügung hast kannst du über die WFC (Window Foundation Classes) auch arbeiten.

mfg