IP und NetConnectionID nach erfüllter Bedingung auslesen

  • VBScript

    IP und NetConnectionID nach erfüllter Bedingung auslesen

    Hallo in die Runde,

    ich habe folgendes Problem:

    Ich möchte mit einem VBScript alle Netzwerkkarten prüfen ob eine von denen eine bestimmte IP hat z.B. 169.254.0.42

    Wenn diese Bedingung erfüllt ist soll von genau dieser Netzwerkkarte die NetConnectionID ausgelesen und weiterverarbeitet werden.

    Mein Ziel ist es eigentlich nur dieser Netzwerkkarte einen neuen Namen zu geben.

    Das Script wie es bis jetzt bei mir aussieht:

    On Error Resume Next
    strComputer = "."
    Set wshShell = WScript.CreateObject( "WScript.Shell" )
    strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    strSystemDrive = wshShell.ExpandEnvironmentStrings( "%SYSTEMDRIVE%" )
    Set fso = CreateObject("Scripting.FileSystemObject")
    LogFile = strSystemDrive & "\Logfiles\Set_LanAdaptername_to_Test.log"

    If Not fso.FileExists(LogFile) Then
    Set FileCreate = fso.CreateTextFile(LogFile, True)
    FileCreate.Close
    End If

    Dim AdapterName
    Dim NewAdapterName
    Dim NewAdaptName

    AdapterName = "name=Lan-Verbindung"
    NewAdapterName = "newname=Test"
    NewAdaptName = "Test"

    Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    Set objShell = WScript.CreateObject("WScript.shell")
    Const IPAddr = "169.254.0.42"


    For Each IPConfig In IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
    For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
    If IPConfig.IPAddress(i) = IPAddr Then

    WshShell.Run("netsh interface set interface " & AdapterName & " " & NewAdapterName)
    Set FileOut = fso.OpenTextFile(LogFile,8,true)
    FileOut.WriteLine("INFO")
    FileOut.WriteLine(Date & " - " & now)
    FileOut.WriteLine("Computername :" & strComputerName)
    FileOut.WriteLine("IP-Adresse : " & IPAddress)
    FileOut.WriteLine("Adapter : " & NewAdaptName)
    FileOut.WriteLine("-------------------------------------------------------------------------")
    FileOut.Close
    End If
    Next
    End If
    Next


    bis jetzt liest das Script die IP aus und gibt der Netzwerkkarte mit dem FESTEN Namen "Lan-Verbindung" einen neuen Namen.

    Wenn jetzt aber die Netzwerkkarte mit der o.a. IP einen anderen Namen hat wie z.B. XYZ dann funktioniert das irgendwie nicht.

    Vielleicht hat jemand von euch eine Idee wie man das lösen kann, ich seh nämlich den Wald vor lauter Bäumen nicht mehr :)