Name der INet Verbindung auslesen...

  • Moin,

    ich schreibe gerade ein kleines Wiedereinwahl-Skript für die Internetverbindung.

    Das wollen nun auch einige Bekannte von mir benutzen.

    Dazu habe ich eine .ini Abfrage erstellt um die Einwahldaten (Benutzername und Pw) zu ermitteln und zu speichern...

    Jetzt brauche ich aber noch den Namen der Internetverbindung, also Alice, Arcor2ooo, T-ComDSL oder wie sie auch immer genannt wird...

    Gibt es nun eine Möglichkeit den Namen der Standart INet Verbindung in/mit Windows zu ermitteln ?

    Skript...

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GuiConstants.au3>
    #include <Process.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Data = IniReadSectionNames("ReDial.ini")
    If @error Then
    FileInstall("Globe Disconnect.ico", @WorkingDir & "\Globe Disconnect.ico")
    FileInstall("Globe Connected.ico", @WorkingDir & "\Globe Connected.ico")
    MsgBox(4096, "ReDial - Error", "Keine Verbindungsdaten vorhanden!" & @CRLF & "Bitte tragen sie in das Dialogfenster Ihre Internet Zugangsdaten ein!")
    _Dialog()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $INet = IniRead("ReDial.ini", "Data", "Verbindung", "Verbindung")
    $User = IniRead("ReDial.ini", "Data", "Benutzername", "Benutzername")
    $Pwd = IniRead("ReDial.ini", "Data", "Kennwort", "Kennwort")
    If $INet = "Verbindung" Or $User = "Benutzername" Or $Pwd = "Kennwort" Then
    MsgBox(4096, "ReDial - Error", "Keine Verbindungsdaten vorhanden!" & @CRLF & "Bitte tragen sie in das Dialogfenster Ihre Internet Zugangsdaten ein!")
    _Dialog()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Opt("TrayMenuMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    TraySetIcon("Globe Connected.ico")
    Sleep(3000)
    TraySetIcon("Globe Disconnect.ico")
    _RunDOS("c:/windows/system32/rasdial.exe " & $INet & " /disconnect") ; Hier muss der Name der Internetverbindung, z.B. Alice16ooo, eingefügt werden!
    Sleep(2500)
    _RunDOS("c:/windows/system32/rasdial.exe " & $INet & " " & $User & " " & $Pwd)
    Sleep(500)
    $Ping = Ping("www.AutoItScript.com", 250)
    If @error = 1 Then
    MsgBox(4096, "ReDial - Error", "Keine Verbindung hergestellt!" & @CRLF & "Bitte überprüfen Sie Ihre Internet Zugangsdaten!")
    NewDialog()
    EndIf
    TraySetIcon("Globe Connected.ico")
    Sleep(1000)
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Dialog()

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("ReDial - Verbindungsdaten eingeben", 320, 240, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS), $WS_EX_ACCEPTFILES)

    [/autoit] [autoit][/autoit] [autoit]

    $Group = GUICtrlCreateGroup(" Verbindungsdaten ", 20, 20, 280, 140)
    $INet = GUICtrlCreateInput("Verbindung", 40, 40, 240, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $User = GUICtrlCreateInput("Benutzername", 40, 80, 240, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $Pwd = GUICtrlCreateInput("Kennwort", 40, 120, 240, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $Button = GUICtrlCreateButton("OK", 120, 190, 80, 25)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $Button
    $INet = GUICtrlRead($INet)
    $User = GUICtrlRead($User)
    $Pwd = GUICtrlRead($Pwd)
    IniWrite("ReDial.ini", "Data", "Verbindung", $INet)
    IniWrite("ReDial.ini", "Data", "Benutzername", $User)
    IniWrite("ReDial.ini", "Data", "Kennwort", $Pwd)
    ExitLoop
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>Dialog

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    Kann man über AutoIt nun den Namen der Standard Internetverbindung ermitteln ?


    Gruß
    Greenhorn


    Einmal editiert, zuletzt von Greenhorn (5. Juni 2007 um 20:02)

    • Offizieller Beitrag

    Hiermit kannst du zumindest die Verbindungseinstellungen für den MS IE anzeigen lassen:

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & _
    "\root\cimv2\Applications\MicrosoftIE")
    $colIESettings = $objWMIService.ExecQuery _
    ("Select * from MicrosoftIE_ConnectionSettings")
    $str = ''
    For $strIESetting in $colIESettings
    $str &= "Allow Internet programs: " & _
    $strIESetting.AllowInternetPrograms & @LF & _
    "Autoconfiguration URL: " & $strIESetting.AutoConfigURL & @LF & _
    "Auto disconnect: " & $strIESetting.AutoDisconnect & @LF & _
    "Autoconfiguration proxy detection mode: " & _
    $strIESetting.AutoProxyDetectMode & @LF & _
    "Data encryption: " & $strIESetting.DataEncryption & @LF & _
    "Default: " & $strIESetting.Default & @LF & _
    "Default gateway: " & $strIESetting.DefaultGateway & @LF & _
    "Dialup server: " & $strIESetting.DialUpServer & @LF & _
    "Disconnect idle time: " & $strIESetting.DisconnectIdleTime & @LF & _
    "Encrypted password: " & $strIESetting.EncryptedPassword & @LF & _
    "IP address: " & $strIESetting.IPAddress & @LF & _
    "IP header compression: " & _
    $strIESetting.IPHeaderCompression & @LF & _
    "Modem: " & $strIESetting.Modem & @LF & _
    "Name: " & $strIESetting.Name & @LF & _
    "Network logon: " & $strIESetting.NetworkLogon & @LF & _
    "Network protocols: " & $strIESetting.NetworkProtocols & @LF & _
    "Primary DNS server: " & $strIESetting.PrimaryDNS & @LF & _
    "Primary WINS server: " & $strIESetting.PrimaryWINS & @LF & _
    "Proxy: " & $strIESetting.Proxy & @LF & _
    "Proxy override: " & $strIESetting.ProxyOverride & @LF & _
    "Proxy server: " & $strIESetting.ProxyServer & @LF & _
    "Redial attempts: " & $strIESetting.RedialAttempts & @LF & _
    "Redial wait: " & $strIESetting.RedialWait & @LF & _
    "Script fileame: " & $strIESetting.ScriptFileName & @LF & _
    "Secondary DNS server: " & $strIESetting.SecondaryDNS & @LF & _
    "Secondary WINS server: " & $strIESetting.SecondaryWINS & @LF & _
    "Server assigned IP address: " & _
    $strIESetting.ServerAssignedIPAddress & @LF & _
    "Server assigned name server: " & _
    $strIESetting.ServerAssignedNameServer & @LF & _
    "Software compression: " & $strIESetting.SoftwareCompression
    MsgBox(0, '', $str)
    $str = ''
    Next

    [/autoit]
    • Offizieller Beitrag
    Zitat

    rasdial [connectionname] /disconnect
    connectionname : Specifies an entry in the current .pbk file, located in the systemroot\System32\Ras folder. If the connection name contains spaces or special characters, enclose the connection name in quotation marks (").

    Da findest du den Verbindungsnamen.