http://dieseyer.de • all rights reserved • © 2011 v11.4

'v5.1********************************************************
' File: ip-adresse3.vbs
' Autor: dieseyer@gmx.de
' dieseyer.de
'
' Damit die IP-Adresse mit IPCONFIG ermittelt werden kann,
' ohne dass eine Schreiboperation auf einen Datenträger
' erfolgt, werden im 'unsichtbaren' Aufruf von
' exechiddenplus.vbs alle IPCONFIG-Ausgaben abgefangen
' und ausgewertet.
'************************************************************

Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl

MsgBox IPadr, , WScript.ScriptName ' mit Function Aufruf

WScript.Quit

' http://dieseyer.de/scr-html/exechiddenplus.html
' http://dieseyer.de/scr/exechiddenplus.vbs
' so muss die "exechiddenplus.vbs" innen aussehen:
'
' set oArgs = Wscript.Arguments
' For i = 0 to oArgs.Count - 1
' if Instr( oArgs.item(i), " " ) > 0 Then CMD = CMD & """" & oArgs.item(i) & """" & " "
' if not Instr( oArgs.item(i), " " ) > 0 Then CMD = CMD & oArgs.item(i) & " "
' Next
' Set oExec = WScript.CreateObject("WScript.Shell").Exec( CMD )
' Do Until oExec.status : WScript.Sleep 100 : Loop
' WScript.CreateObject("WScript.Shell").Environment( "volatile" )( "Eregbnis" ) = oExec.StdOut.ReadAll()






'**************************************************************
Function IPadr() ' v5.2 - http://dieseyer.de
'**************************************************************
Dim Txt, Tst, i
Dim WshShell : Set WshShell = CreateObject("Wscript.Shell")
Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim ExecH : ExecH = "exechiddenplus.vbs"

' MsgBox fso.GetAbsolutePathName( ExecH ) & vbCRLF & vbCRLF & "existiert.", , WScript.ScriptName
if not fso.FileExists( ExecH ) Then
MsgBox fso.GetAbsolutePathName( ExecH ) & vbCRLF & vbCRLF & "f e h l t ! ! !", , WScript.ScriptName
Else
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "CScript.exe //NOLOGO " & ExecH & " %comspec% /c ipconfig /all" , 0, true
Txt = WshShell.Environment("volatile")( "Eregbnis" )
Set WshShell = nothing

Tst = Split(Txt, vbCRLF, -1)

' MsgBox "LBound: " & LBound( Tst ) & vbCRLF & "UBound: " & UBound( Tst ) & vbCRLF & Txt, , WScript.ScriptName
For i = LBound( Tst ) to UBound( Tst )
If InStr( Tst( i ), "IP-A" ) > 0 OR InStr( Tst( i ), "IP A" ) > 0 Then

Tst( i ) = Replace( Tst( i ) , vbCR, "" ) ' überflüssige Zeichen entfernen
Tst( i ) = Replace( Tst( i ) , vbLF, "" ) ' überflüssige Zeichen entfernen

Tst( i ) = Replace( Tst( i ) , ". .", "" ) ' überflüssige Zeichen entfernen
Tst( i ) = Replace( Tst( i ) , ". ", "" ) ' überflüssige Zeichen entfernen

Tst( i ) = Mid( Tst( i ) , InStr( Tst( i ) , " : ") + 2 )

Tst( i ) = Replace( Tst( i ) , " ", "" ) ' überflüssige Zeichen entfernen
Tst( i ) = Replace( Tst( i ) , " ", "" ) ' überflüssige Zeichen entfernen

Txt = "---"
' If InStr( Tst( i ), "169.254." ) = 1 Then Txt = "<strike>" & Tst( i ) & " noDHCP</strike>"
If InStr( Tst( i ), "169.254." ) = 1 Then Txt = Tst( i ) & " noDHCP"
' If InStr( Tst( i ), "0.0.0.0" ) = 1 Then Txt = "<strike>" & Tst( i ) & " noDHCP</strike>"
If InStr( Tst( i ), "0.0.0.0" ) = 1 Then Txt = Tst( i ) & " noDHCP"
If InStr( Tst( i ), "53.79.186." ) = 1 Then Txt = Tst( i ) & " Bereich II"
If InStr( Tst( i ), "53.79.187." ) = 1 Then Txt = Tst( i ) & " Bereich VI"
If InStr( Tst( i ), "53.72.161." ) = 1 Then Txt = Tst( i ) & " Labor"

If Txt = "---" Then Txt = Tst( i ) & " OK"

Tst( i ) = Txt

If not IPadr = "" Then IPadr = IPadr & vbCRLF & Tst( i )
If IPadr = "" Then IPadr = Tst( i )
End If
Next
End If
'**************************************************************
End Function ' IPadr() v5.2 - http://dieseyer.de
'**************************************************************

http://dieseyer.de • all rights reserved • © 2011 v11.4