1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Camulus

Beiträge von Camulus

  • Active Directory Benutzerdaten abfragen

    • Camulus
    • 18. Juli 2011 um 10:35

    Hi

    ich habe hier einen Codeschnipsel von einem Vorgänger hinterlassen bekommen.
    Allerdings sprengt der meinen Autoit Horizont noch.
    EDIT: War der falsche Schnipsel. Jetzt stimmts.

    Spoiler anzeigen
    [autoit]

    Func _GetUserAD()
    Global $UserAccountControl, $samAccountName,$FirstName, $LastName, $title, $PasswordLastChanged, $IsAccountLocked, $DaysLeft,$msg,$icon ,$AnzeigeDatPwdExpires, $Counter
    Local $Found = 0
    $AnmeldeUser = @UserName

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

    $LogonServer = "dc.domain.local"

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

    $serverName = $LogonServer
    $baseStr = "DC=DOMAIN,DC=local"

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

    $filterStr = "(&(objectCategory=Person) (objectClass=user) )"

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

    $ado = ObjCreate("ADODB.Connection") ; erstellt eine Instanz des Objektes ADODB.Connection
    $ado.Provider = "ADSDSOObject"

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

    $ado.Open ("ADS-Search" )

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

    $adoCmd = ObjCreate("ADODB.Command")
    $adoCmd.ActiveConnection = $ado
    $adoCmd.Properties("Page Size") = 1000
    $adoCmd.Properties("Cache Results") = 1
    $adoCmd.CommandText = "<LDAP://" & $serverName & "/" & $baseStr & ">;" & $filterStr & ";ADsPath;subtree"

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

    _WriteLogData("Benutzereinträge für " & @UserName & " werden gesucht, auf Server " & StringReplace($LogonServer,"\",""))
    _WriteLogData("Benutzereinträge für " & @UserName & " werden gesucht, auf Server " & $LogonServer)
    _WriteLogData("Funktionsaufruf lautet : " & $adoCmd & " ")

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

    $objectList = $adoCmd.Execute

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Ihre Benutzereinträge werden gesucht.")

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

    $Counter = 1

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

    While Not $objectList.EOF()

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

    $user = ObjGet($objectList.Fields("ADsPath").value)

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

    $samAccountName = $User.samAccountName

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

    If stringlower($samAccountName) = StringLower($AnmeldeUser) Then

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

    $UserAccountControl = $user.UserAccountControl
    $FirstName = $User.FirstName
    $LastName = $User.LastName
    $title = $User.title
    $PasswordLastChanged = $User.PasswordLastChanged ;pwdLastSet
    $IsAccountLocked = $User.IsAccountLocked

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

    _WriteLogData("Benutzereintrag für " & $FirstName & " " & $LastName & " wurde gefunden. Accountcontrol = " & $UserAccountControl)

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

    If $UserAccountControl = 512 or $UserAccountControl = 544 Then

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

    $DaysLeft = _DatumBerechnen($PasswordLastChanged)
    MsgBox(0,"", "Ihr Passwort läuft in " & $DaysLeft & " Tagen, am " & $AnzeigeDatPwdExpires & ", ab." & @CRLF & @CRLF & "Bitte ändern Sie das Passwort bei der nächsten Gelegenheit!")
    _WriteLogData("Datum wurde berechnet. Passwortgültigkeitsdauer=" & $DaysLeft & " Tage")

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

    ;~ If $DaysLeft <= 10 Then
    ;~ If $DaysLeft > 0 Then
    ;~ Switch $DaysLeft
    ;~ Case 1
    ;~ $msg = "Ihr Passwort läuft heute ab" & @CRLF & @CRLF & "Bitte ändern Sie das Passwort umgehend!"
    ;~ ;$icon = 16 ; 16=Stop-sign icon
    ;~ $icon = 64 ;
    ;~ Case 2
    ;~ $msg = "Ihr Passwort läuft morgen ab" & @CRLF & @CRLF & "Bitte ändern Sie das Passwort!"
    ;~ ;$icon = 16 ; 16=Stop-sign icon
    ;~ $icon = 64 ;
    ;~ Case Else
    ;~ $msg = " Ihr Passwort läuft in " & $DaysLeft & " Tagen, am " & $AnzeigeDatPwdExpires & ", ab." & @CRLF & @CRLF & "Bitte ändern Sie das Passwort bei der nächsten Gelegenheit!"
    ;~ $icon = 64 ; 64=Information-sign icon consisting of an 'i' in a circle
    ;~ EndSwitch

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

    MsgBox($icon,"Hallo " & $title & " " & $LastName & ".", $msg)

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

    ;~ EndIf

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

    EndIf
    EndIf
    $objectList.MoveNext()
    $Counter += 1

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

    Wend

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

    If $IsAccountLocked = True Then
    GUICtrlSetBkColor($lbl_info, 0xFF0000)
    GUICtrlSetData($lbl_info, @CRLF & "Ihr Konto wurde gesperrt." & @CRLF & @CRLF & "Bitte wenden Sie sich an den IT- Support.")
    EndIf

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

    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _DatumBerechnen($ChangedDate)

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

    local $AnzeigeDatPwdChanged, $Day2Change, $Date2Change
    local $HeuteJMT = _NowCalcDate()
    local $DatChangedJMT = StringMid( $ChangedDate, 1, 4) & "/" & StringMid( $ChangedDate, 5, 2) & "/" & StringMid( $ChangedDate, 7, 2)

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

    ;MsgBox(16,"1",$HeuteJMT & " " & $DatChangedJMT )
    $Date2Change = _DateAdd('d',90,$DatChangedJMT)
    $Day2Change = _DateDiff( 'd',_NowCalc(),$Date2Change)

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

    ;MsgBox(16,"2",$Day2Change & " " & $Date2Change)

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

    $AnzeigeDatPwdExpires = StringMid( $Date2Change, 9, 2) & "." & StringMid( $Date2Change, 6, 2) & "." & StringMid( $Date2Change, 1, 4)

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

    ;MsgBox(16,"3",$AnzeigeDatPwdExpires)

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

    Return $Day2Change
    EndFunc

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

    ich habe ein Tool gebaut mit dem sich unsere Aussendienstler einwählen. Diese Function stammt aus einer Vorgängerversion, hat aber recht lange gedauert und den ganzen "Einwahlprozess" verlängert (nicht zu wörtlich nehmen:-)). Und da es nach meinem damaligen Kenntnisstand nicht nötig war ist diese Function rausgeflogen.

    Der unangenehme Nebeneffekt ist dass die User jetzt nicht mehr angezeigt bekommen dass ihr Passwort abläuft. :S

    Das Problem ist dass ich nicht wirklich verstehe was in dieser Function passiert und ob das alles nötig ist 8| .

    Kann mir jemand sagen was da passiert, oder wo ich mich da einlesen kann?

    Schön wäre es wenn ich eine Meldung ausgeben kann (Achtung! Ihr Passwort läuft in x Tagen ab) und vielleicht ob das KOnto gesperrt ist. Bei drei Logon- Fehlversuchen werden die Kontos gesperrt, und das passiert "leider" sehr oft.

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 20:54

    doch könnte ich...
    aber das ist nicht gewollt... in der Vorgängerversion war es so, aber da gab es auch problemchen.
    Wir haben user die nicht wirklich eine Affinität zur IT haben, deswegen wollte ich Ihnen das erlkeichtern und so wenig tipperei und verschiedene Fenster wie möglich.
    Eingentlich muss ich es ja nur dazu bringen genau das gleiche zu machen wie bei der rasphone... nur ohne Fenster :S

    da fällt mir ein hier ist das komplette script:
    [ gelöst ] Button in zweiter GUI funktioniert nicht

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 18:01

    Also falls jemandem doch noch ein einfacherer Weg einfällt... :rolleyes:
    Immer raus damit 8o

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 15:44

    :huh: hmmmm.....
    das kann ja eiter werden.

    Dann fang ich besser mal an :S

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 15:34
    Zitat

    Wenn gar nichts funktionieren will musst du die API direkt verwenden: http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx


    Kann ich die direkt aus Auoit verwenden?
    Hast du einen kleinen Denkanstoss für mich?

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 14:58

    war klar das sowas passiert :cursing:

    Ab heute hab ich Urlaub...das muss vorher gehen ;(

    Oder Rollback.... aber das ist keine Alternative

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 14:16

    Ok...das geht schonmal.

    Aber weiter komm ich dann noch nicht.

    Ich hab mir das $SCommand mal mit ner MsgBox ausgeben lassen.

    Da steht dann:

    "C:\Windows\system32\rasdial.exe" "Verbinung" "Benutzer" "Passwort" /DOMAIN:domain

    das meisste ist richtig.

    Bei meinem Testuser hab ich "Passwort" als Passwort gesetzt (also inkl. Anführungszeichen).

    Es müsste ja dann eher ""Passwort"" heissen oder?


    Ich könnte mich echt in den A..... beissen. 2 Wochen Tests und dann übersieht man sowas.... in meinem eigenen Kennwort habe ich ein % und das stört nicht. Deswegen hab ich da auch keinen Gedanken mehr dran verschwendet :cursing:

  • " im Passwort

    • Camulus
    • 6. Mai 2011 um 11:35

    Es ist schlimmer geworden... :cursing:

    Es sind mehrere User die so ein kritischen Zeichen im Passwort haben.

    @progandy:

    Wenn ich das nehme

    [autoit]

    $sCommand = StringFormat('"%s\rasdial.exe" "%s" "%s" "%s" /DOMAIN:domain', @SystemDir, _esc("Verbindung"), _esc("user"), _esc("pass")) RunWait($sCommand, @WorkingDir, @SW_HIDE)

    [/autoit]


    Dann schneidet es mir beim rasdial das r ab.
    Ich bekomm es aber auch nicht so ganz hin es richtig umzustellen :wacko:


    Hat noch jemand ne idee?

  • " im Passwort

    • Camulus
    • 5. Mai 2011 um 16:33

    :rofl: ja stimmt.
    Aber das ist ein anonymisierungs Fehler:-)

    Ich teste es morgen mal

  • " im Passwort

    • Camulus
    • 5. Mai 2011 um 15:37

    vorher war es so, dass das tool eine Verknüpfung zur VPN Verbindung geöfnet hat.
    Dann kam dieses Windows VPN Einwahl Fenster.

    Dan haben die User da ihr Kennwortt gespeichert (was sie nicht sollen) und und und...
    das wollte ich eben nicht mehr haben und hab es deswegen über rasdial gemacht.

    Wahrscheinlich war es auch für die nächsten 10 Jahre der einzige User mit einem " :rofl:

    Ich dachte es gäb noch nen Trick mit dem man auch " oder was auch immer DOS ärgert da einbauen kann.

  • " im Passwort

    • Camulus
    • 5. Mai 2011 um 15:18

    Hi ihr,

    ich hab heute mein neues VPN Tool ausgerollt.
    Eine Userin konnte sich damit dann nicht einwählen.

    Nach einem längeren Telefonat hab ich dann rausbekommen dass ihr Passwort mit einem (") anfängt.
    Mein Tool baut die Verbindung über Rasdial auf.
    Das (") hat natürlich meinen String zerschossen:

    Hier ist ein Codeschnipsel:

    Spoiler anzeigen
    [autoit]

    Func _StartVPNConnect()

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

    ;Variablendeklaration
    Local $PingVar, $RoundTrip, $InitTime, $PID
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName =('"VPN Verbindung"')
    $Testserver = "dc.domain.local"
    $rasdial = ("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:domain")

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit domainwird hergestellt.");& @CRLF & "und mit Server erbunden")

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

    ;rasdial ausführen
    $Connect= RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
    _WriteLogData("Rasdial ausgeführt.")

    [/autoit]


    Ich war auch schon in unserer Entwicklerecke aber die können mir auch nicht wirklich weiter helfen.
    Hat jemand ne Idee wie ich die DOS- Befehl- kritischen Sonderzeichen abfange oder escapen kann?

    Boris

  • wo stehen die Variablen?

    • Camulus
    • 29. April 2011 um 12:25

    man muss ja nru nach den richtigen Bgeriff suchen :cursing:

  • wo stehen die Variablen?

    • Camulus
    • 29. April 2011 um 12:24

    Hi,

    es ist zwar schon relativ peinlich aber ich such es jedes mal.

    Wo stehen die ganzen Variablen:
    @MyDocumentsDir
    @username
    usw.?

    Ich find sie wieder mal nicht.

  • LDAP Abfrage

    • Camulus
    • 20. April 2011 um 16:04

    Ahhh das sieht gut aus.

    Danke!

  • LDAP Abfrage

    • Camulus
    • 20. April 2011 um 11:15

    Hi,

    ich glaub ich seh den Wald vor lauter Bäumen nicht...oder kapier einfach den Quelltext nicht.
    Wahrscheinlich letzteres.... :whistling:

    Gefundne hab ich das ion einem Thread hier und für meine Zwecke geändert.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Misc.au3>
    Const $ADS_NAME_INITTYPE_GC = 3
    Const $ADS_NAME_TYPE_NT4 = 3
    Const $ADS_NAME_TYPE_1779 = 1
    ; DNS domain name.
    $oMyError = ObjEvent("AutoIt.Error", "ComError")
    $objRootDSE = ObjGet("LDAP://RootDSE")
    $objTrans = ObjCreate("NameTranslate")
    $objTrans.Init ($ADS_NAME_INITTYPE_GC, "")
    $objTrans.Set ($ADS_NAME_TYPE_1779, @LogonDomain)
    $objTrans.Set ($ADS_NAME_TYPE_NT4, @LogonDomain & "\" & @UserName)
    $strUserDN = $objTrans.Get ($ADS_NAME_TYPE_1779)
    $UserObj = ObjGet("LDAP://" & $strUserDN)
    DIM $firstname = $UserObj.FirstName
    DIM $lastname = $UserObj.LastName
    DIM $IsAccountLocked = $UserObj.IsAccountLocked

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

    MsgBox (0, "", "Test: "& $firstname & " " & $lastname &" " & $IsAccountLocked)

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

    $UserObj = ""
    $oMyError = ObjEvent("AutoIt.Error", "")
    ;~ ;COM Error function
    Func ComError()
    If IsObj($oMyError) Then
    $HexNumber = Hex($oMyError.number, 8)
    SetError($HexNumber)
    Else
    SetError(1)
    EndIf
    EndFunc

    [/autoit]

    jetzt mal für mich doof... wie packe ich das alles in eine Function?

    Ich bräuchte das als Fuction die mir Name, Vorname und Konto gesperrt/nicht gesperrt zurückliefert.

    Hat jemand einen Denkanstoss für mich?

  • Button in zweiter GUI funktioniert nicht

    • Camulus
    • 20. April 2011 um 10:41

    So ist zwar immer noch ein bißchen unordentlich aber funtioniert.
    Wenn es noch jemanden interesiert:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_icon=world.ico
    #AutoIt3Wrapper_outfile=exe\XConnect.exe
    #AutoIt3Wrapper_Res_Comment=X Connect stellt eine VPN Verbindung zu X her.
    #AutoIt3Wrapper_Res_Description=XConnect
    #AutoIt3Wrapper_Res_Fileversion=3.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2010 IT der X Pflegeberatung
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.0.0.0
    Author: Boris Wagener

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    FileInstall("XVPN2.jpg","XVPN2.jpg",1)
    FileInstall("world.ico","world.ico",1)
    FileInstall("Logon.wav","Logon.wav",1)

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

    ; Script Start - Add your code below here

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

    #include <Inet.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <Process.au3>
    #include <date.au3>
    #include <GuiEdit.au3>

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

    ;############################################################################################################################################################

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

    ; Wechsle in den OnEvent Modus
    Opt("GUIOnEventMode", 1)

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Variablendeklaration
    $ProgramNameVersion = "XConnect -Köln- " & FileGetVersion(@AutoItExe)
    $Testdomain = "www.google.de"
    $Testserver = "dc.X.local"
    $User = @UserName
    $LogonServer = @LogonServer

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

    ; Die werden alle gebraucht und müssen vorher deklariert werden weil die GUIs in Functions ereugt werden
    Global $Mainform, $Childform, $fortschritt, $Pic1, $lbl_fortschritt, $lbl_info, $lbl_info2, $User,$lbl_passwort, $btn_verbinden, $btn_trennen, $radio_dsl, $radio_umts, $Label1, $Group1, $chk_showpw, $lbl_ip
    ;Variablen in CheckOnProgUpdate
    Global $ProgramNameVersion, $FileName
    Global $DownloadDir = @ScriptDir & "\Download\XConnect.exe"

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

    #include "CheckOnProgUpdate.au3"
    #include "WriteLogData.au3"

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

    ;ESC bricht alles ab
    HotKeySet("{ESC}", "_Terminate")

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

    $ProgramNameVersion = "XConnect -Köln- " & FileGetVersion(@AutoItExe)
    $FileName = "Logon_" & @YEAR & @MON & @MDAY & "_" & @HOUR & @MIN & @SEC & ".log"

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    If FileExists(@ScriptDir & "\Download\") Then
    DirRemove(@ScriptDir & "\Download\", 1)
    EndIf

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

    If FileExists(@ScriptDir & "\XConnectUpdate.exe") Then
    FileDelete(@ScriptDir & "\XConnectUpdate.exe")
    EndIf

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

    If FileDelete(@ScriptDir & "\*.log") = 1 Then
    _WriteLogData("Alte LOG Datei wurde erfolgreich gelöscht.")
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    _WriteLogData("Programm : " & @ScriptName & ". Version=" & FileGetVersion(@ScriptName) & " mit Datum=" & FileGetTime(@ScriptName, 1,1))
    _WriteLogData("Benutzer : " & @UserName)
    _WriteLogData("LogonServer : " & @LogonServer)
    _WriteLogData("LogonDomain : " & @LogonDomain)
    _WriteLogData("LogonDNSDomain : " & @LogonDNSDomain)
    _WriteLogData("Desktopverzeichnis: " & @DesktopCommonDir)
    _WriteLogData("---------------------------------------------------------------------")

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Los gehts
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;Main GUI aufrufen
    _Mainform()

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

    ;ChildGui aufrufen, GuiSetState (@SW_HIDE), also versteckt. Diese GUI muss von Anfang an mitlaufen.
    _Childform()

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

    ;Controls ausblenden bis Internetverbindung überbrüft ist
    _Ausblenden()

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

    ; Prüfen ob schon eine PN Verindung besteht
    _VPNTest()

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

    ; Internet Verbindung testen, Controls einblenden, RadioButtos setzen, auf Passwort warten.
    ;Hier geht es erst weiter wenn der Verinden Button gedruckt wird.
    ; ab dann _VPNConnect()
    _Startup()

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

    ;Antwortzeit der Verbindung ermitteln und in $Childgui anzeigen.

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

    _VPNStatus()

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

    ;Nicht die Reihenfolge er Function Aufrufe ändern!!!

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

    ;Hauptprogramm:-)
    While 1
    Sleep(500)
    WEnd

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;############################################################################################################################################################
    ; Funktionen
    ;############################################################################################################################################################
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Mainform erstellen und anzeigen
    Func _Mainform()
    #Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\XConnect V3\Form1.kxf
    $Mainform = GUICreate($ProgramNameVersion, 397, 500, 50, 50, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetIcon("C:\X\world.ico")
    GUISetBkColor(0xFFFFFF)
    $fortschritt = GUICtrlCreateProgress(32, 256, 335, 17)
    $Pic1 = GUICtrlCreatePic("XVPN2.jpg", 8, 8, 380, 125, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $lbl_info = GUICtrlCreateLabel("", 32, 148, 335, 108, BitOR($SS_CENTER,$SS_SUNKEN))
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    $Group1 = GUICtrlCreateGroup("Verbindungsart:", 40, 280, 313, 65)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $radio_dsl = GUICtrlCreateRadio("DSL/ WLAN", 80, 312, 129, 17)
    $radio_umts = GUICtrlCreateRadio("UMTS", 240, 312, 81, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $lbl_passwort = GUICtrlCreateInput("", 144, 368, 161, 21, BitOR($ES_CENTER,$ES_PASSWORD,$ES_AUTOHSCROLL))
    GUICtrlSetFont(-1, 11, 400, "MS Sans Serif")
    _GUICtrlEdit_SetPasswordChar($lbl_passwort, "*")
    $Label1 = GUICtrlCreateLabel("Passwort:", 80, 368, 62, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    ;~ $btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 450, 155, 33,$BS_PUSHLIKE,$WS_GROUP)
    $btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 450, 155, 33, BitOR($BS_DEFPUSHBUTTON,$BS_PUSHLIKE,$WS_GROUP)) ;Button mit Enter drücken
    GUICtrlSetOnEvent($btn_verbinden, "_VPNConnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $chk_showpw = GUICtrlCreateCheckbox("Passwort anzeigen", 155, 395, 161, 17)
    GUICtrlSetOnEvent($chk_showpw, "_showpw")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    #EndRegion ### END Koda GUI section ###
    GUISetState(@SW_SHOW)
    _WriteLogData("Mainform erstellt")
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Childform erstellen und anzeigen
    Func _Childform()

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

    $Childform = GUICreate("X Connect V 3.0.0.0" , 264, 116, 10, 10, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    GUISetIcon("C:\X\world.ico")
    GUISetBkColor(0xFFFFFF)
    $lbl_info2 = GUICtrlCreateLabel("", 8, 4, 247, 52, BitOR($SS_CENTER,$SS_SUNKEN))
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    $btn_trennen = GUICtrlCreateButton("Trennen", 72, 80, 123, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_trennen, "_VPNDisconnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $lbl_ip = GUICtrlCreateLabel("", 8, 56, 245, 20, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUISetState(@SW_HIDE)
    _WriteLogData("Childform erstellt")
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Update()

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

    If _CheckOnProgUpdate() = 1 Then ; Unterprogrammaufruf, Sourcecode in externer Datei

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

    FileInstall("XConnectUpdate.exe","XConnectUpdate.exe",1)
    sleep(500)
    run("XConnectUpdate.exe") ; Aufruf des eigenständigen Scriptes zum update der XConnect-Datei
    GUIDelete($Mainform)
    FileDelete(@ScriptDir & "\*.jpg")

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

    FileDelete(@ScriptDir & "\*.wav")

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

    exit ; Programmabbruch, Beenden dieses Programmes
    Else

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

    EndIf
    _WriteLogData("Updateüberprüfung abgeschlossen")
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Abprüfen einer VPN-Verbindung

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

    Func _VPNTest()
    $PingOnServer1 = Ping($Testserver,1000)

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

    ; Wenn die VPN-Verbindung nicht besteht wird das Unterprogramm StartVPNConnect aufgerufen
    If $PingOnServer1 > 0 then
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Es besteht bereits eine VPN Verbindung.")
    _WriteLogData("VPN verbiondung besteht bereits. Antwortzeit: " & $PingOnServer1)
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "X Connect wird beendet.")
    Sleep(1000)
    _Terminate()
    EndIf

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Startup()

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

    ;Test ob eine Internetverbindung besteht
    $InternetOK = _TestOnInternetConnect();

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

    ;Wenn ja Controls einblenden und Eingabe abwarten
    If $InternetOK = True Then
    _Einblenden()
    GUICtrlSetState($radio_dsl, $GUI_CHECKED)

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

    ;Wenn nicht auch einblenden und Verbindungsart auf UMTS setzen.
    ElseIf $InternetOK = False Then
    _Einblenden()
    GUICtrlSetState($radio_umts, $GUI_CHECKED)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine DSL Verbindung."& @CRLF & @CRLF &"Verbindungsart UMTS wird gesetzt")
    _WriteLogData("Keine Internetverbindung, Verbindungsart wird auf UMTS gesetzt")
    Sleep(1500)

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

    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bereit zum Verbinden."& @CRLF & @CRLF & "Bitte geben Sie ihr Passwort ein,"&@CRLF & "und klicken Sie auf Verbinden.")
    GUICtrlSetState($lbl_passwort,$GUI_FOCUS)

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

    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _VPNConnect()

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

    ;Fortschritt anziegen:-)
    GUICtrlSetData($fortschritt, 10)

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

    ;Wenn DSL RadioButton aktiv ist
    If BitAND(GUICtrlRead($radio_dsl), $GUI_CHECKED) = $GUI_CHECKED Then
    _StartVPNConnect()
    _Update()
    GUICtrlSetData($fortschritt, 50)
    _MapDrive()
    GUICtrlSetData($fortschritt, 75)
    _ECMAddins()
    GUICtrlSetData($fortschritt, 95)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Abschliessende Einstellungen.")

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

    EndIf

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

    ;Wenn UMTS RadioButton aktiv ist
    If BitAND(GUICtrlRead($radio_umts), $GUI_CHECKED) = $GUI_CHECKED Then
    _StartUMTSInternetConnect()
    _Update()
    GUICtrlSetData($fortschritt, 50)
    _MapDrive()
    GUICtrlSetData($fortschritt, 75)
    Sleep(500)
    _ECMAddins()
    GUICtrlSetData($fortschritt, 95)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Abschliessende Einstellungen.")
    EndIf

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

    ;gpupdate und BG info
    Run("gpupdate","",@SW_HIDE)
    GUICtrlSetData($fortschritt, 100)
    Sleep(500)
    _WriteLogData("gpudate gestartet")
    Run("C:\X\Sysinternals\Bginfo.exe C:\X\Sysinternals\BGInfo_PC.bgi /accepteula /timer:0")
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"BG Info wird gestartet.")
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Verbindungsaufbau abgeschlossen.")
    _WriteLogData("BG Info Update")
    Sleep(1000)
    ;tadaaaaaa
    SoundPlay(@ScriptDir & "\logon.wav",1)
    ;Exit

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

    GUISetState(@SW_HIDE, $Mainform)
    _WriteLogData("verbinidungsaufbau abgeschlossen.")
    ;$childform zur aktiven GUI machen
    GUISwitch($Childform)
    GUISetState(@SW_SHOW, $Childform)
    GUICtrlSetData($lbl_ip, "IP Adresse: " & @IPAddress1)

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

    HotKeySet("{ESC}", "_nichts")

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _VPNStatus()

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

    GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt") ; Da ist glatt gelogen abder irgendwas muss ja da stehen.

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

    $Connection = Ping($Testserver,1000)

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

    GUICtrlSetData($lbl_info2, "VPN Verbindung zu X hergestellt." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")

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

    While 1

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

    $Connection = Ping($Testserver,1000)
    Sleep (5000)
    ;Warnmeldung wenn Verbindungsgeschwindigkeit zu langsam
    If $Connection > 350 then
    GUICtrlSetData($lbl_info2, "Achtung!" & @CRLF & "Sehr langsame Verbindung!" & @CRLF & "Arbeit nur unter Schwierigkeiten möglich!")
    ;GUICtrlSetBkColor($lbl_info2, 0xFF0000)
    _WriteLogData("UMTS Geschwindingkeitswarnung. ANtwortzeit: " & $Connection)
    Else
    GUICtrlSetData($lbl_info2, "VPN Verbindung zu X hergestellt." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")

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

    EndIf

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

    WEnd

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;VPN Verbindung trennen und Netzlaufwerke trennen
    Func _VPNDisconnect()

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

    GUICtrlSetData($lbl_info2, "VPN Verbindung zu X wird getrennt." & @CRLF & @CRLF &"Netzlaufwerke werden getrennt.")

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

    Run("rasdial /DISCONNECT","",@SW_HIDE)
    _WriteLogData("Verbindung getrennt.")
    Sleep(1000)
    Run("net use /delete * /YES","",@SW_HIDE)
    _WriteLogData("Netzlaufwerke getrennt")
    Sleep (1000)
    GUICtrlSetData($lbl_info2, "Trennung erfolgt." & @CRLF & @CRLF &"Programm wird beendet.")
    Sleep(1500)
    ;Files wieder löschen.
    _DeleteFiles()
    Exit
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Unterfunktion : Internetverbindung testen

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

    Func _TestOnInternetConnect()
    Local $PingVar,$RoundTrip ; $PingVar ist auch der Rückgabeparameter

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Ein Moment bitte," & @CRLF & @CRLF& "Internetverbindung wird getestet.")
    sleep(1000)

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

    For $RoundTrip = 1 to 3
    ; !!! Hier sollte nicht nur eine! Domain abgefragt werden
    $PingVar = Ping($Testdomain,1000) ;Ping gibt die Antwortzeit in ms zurück

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

    if $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war
    $PingVar = Ping($Testserver ,100) ; Ping gibt die Antwortzeit in ms zurück
    EndIf

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

    If $PingVar > 0 Then ; Wenn ein ping (Domäne oder Host)erfolgreich war
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Internetverbindung besteht."& @CRLF & @CRLF & "Die Antwortzeit beträgt " & $PingVar & " ms.")
    Sleep(500)
    _WriteLogData("Intenetverbindung besteht. Antwortzeit: " & $PingVar)
    Else
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Internetverbindung ist nicht erfolgt"& @CRLF & @CRLF& "Verbindung wird erneut getestet " & $RoundTrip)
    EndIf

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

    Next

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

    Return $PingVar ; $PingVar ist der Rückgabeparameter
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _StartVPNConnect()

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

    ;Variablendeklaration
    Local $PingVar, $RoundTrip, $InitTime, $PID
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName =('"X VPN"')
    $Testserver = "dc.X.local"
    $rasdial = ("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:X")

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit X wird hergestellt.");& @CRLF & "und mit Server erbunden")

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

    ;rasdial ausführen
    $Connect= RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
    _WriteLogData("Rasdial ausgeführt.")

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

    ;Runwait liefert im Fehlerfall 0 zurück.Der exitcode für cmd ist aber 0 also <>0:-)

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

    If $Connect <> 0 Then
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bei der Verbindung trat ein Fehler auf." & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "X Connect wird beendet")
    Sleep(2000)
    _WriteLogData("verbindung fehlgeschlagen. XConnect wir beendet")
    ProcessClose ($Connect)
    Exit
    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit X wird hergestellt.")
    Sleep(1000)

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

    $PingVar = Ping($Testserver,1000)
    $InitTime = TimerInit()
    While $PingVar = 0
    Sleep(100)
    ;Abbruch wenn nach 15 sekunden keine Antwort vom DC
    If TimerDiff($InitTime) > 15000 Then

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Verbindungsfehler" & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
    Sleep(1000)
    ProcessClose($Connect)
    Exit
    EndIf

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

    $PingVar = Ping($Testserver,1000) ;sonst ändert sich $pingvar nicht:-)
    WEnd

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

    ;Was fürs Auge
    GUICtrlSetData($fortschritt, 20)
    Sleep(250)
    GUICtrlSetData($fortschritt, 30)

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

    Return $PingVar

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Unterfunktion : Starten der UMTS-Internet-Verbindung

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

    Func _StartUMTSInternetConnect()

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

    Local $PingVar, $RoundTrip, $InitTime, $PID, $passwort, $ConnectionName, $Testserver, $user, $Testdomain
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName =('"X VPN"')
    $Testserver = "dc.X.local"
    $User = @UserName
    $Testdomain = "www.google.de"

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

    $rasdial = ("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:X")

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

    Run("C:\Program Files\Option\GlobeTrotter Connect\GlobeTrotter Connect.exe")
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bitte stellen Sie die Verbindung" & @CRLF & @CRLF& "über GlobeTrotter Connect her.")
    Sleep(1000)
    ; Disconnect ist der einzige Text den man hier verwenden kann.
    ;Alternative UMTS als Wählverbindung einrichten und GlobeTrotter einstampfen
    WinWait("GlobeTrotter Connect", "Disconnect")

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

    $PingVar = Ping($Testdomain,1000); solange keine Internetverbindung besteht gehts nicht weiter

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

    While $PingVar = 0;Warten bis Verbindung steht
    ;MsgBox(0,"Ping" , $PingVar,1)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Internetverbindung wird über UMTS hergestellt.")
    Sleep(100)
    $PingVar = Ping($Testdomain,1000)

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

    WEnd
    _WriteLogData("UMTS Verbindung hergestellt. Antwortzeit: " & $PingVar)

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

    ;Rasdial ausführen... nicht vergessen der Rest der Fuktion stellt nur eine Internetverbindung her.
    RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
    _WriteLogData("Rasdial UMTS Verbindung ausgeführt.")

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

    If $PingVar > 0 Then
    WinSetState("GlobeTrotter Connect","",@SW_MINIMIZE)

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

    ;ExitLoop
    EndIf

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

    ;WEnd
    ;$UMTSPing = Ping($Testdomain,1000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Verbindungsgeschwindigkeit" & @CRLF & @CRLF& $PingVar & " ms")
    sleep(1000)

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

    Return $PID; $PingVar
    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Netzlaufwerke verbinden
    Func _MapDrive()

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

    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Ein Moment bitte,"& @CRLF & @CRLF & "Ihre Netzwerklaufwerke werden verbunden.")

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

    RunWait(@LogonServer & "\netlogon\logon.bat","",@SW_HIDE)
    _WriteLogData("Netzlaufwerke verbunden.")
    GUICtrlSetData($lbl_info,@CRLF & @CRLF &"Netzwerklaufwerke erfolgreich verbunden.")
    Sleep(500)
    Return

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Outlook Addins aktivieren
    Func _ECMAddins()
    If ProcessExists("outlook.exe") Then
    GUICtrlSetData($lbl_info,"Outlook ist noch geöffnet, bitte beenden.")
    MsgBox(48,"Outlook bitte beenden....","Bitte beenden Sie Outlook, bevor die Anmeldung komplett ausgeführt wird." & @CRLF & @CRLF & "Oder klicken Sie auf OK und outlook wird automatisch beendet")
    If ProcessExists("outlook.exe") Then
    SplashTextOn("Ein Moment bitte...",@CRLF & "Outlook wird gestoppt.......","-1","100","-1","-1",0,"","","")
    Sleep(500)
    ProcessClose("outlook.exe")
    Sleep(500)
    SplashOff()

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

    Else

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

    EndIf
    EndIf

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

    GUICtrlSetData($lbl_info,@CRLF &@CRLF & "Outlook AddIns werden aktiviert.")
    Sleep(500)

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

    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\AddIns\X.ECM.OutlookAddIn","LoadBehavior","REG_DWORD","00000003")
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\InfoPath\AddIns\X.ECM.InfoPathAddIN","LoadBehavior","REG_DWORD","00000003")

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

    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Outlook AddIns aktiv.")
    _WriteLogData("Oulook Addins aktiviert.")
    Sleep(500)
    GUICtrlSetData($fortschritt, 95)
    Return
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ Controls verstecken
    Func _Ausblenden()

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

    GUICtrlSetState($fortschritt, $gui_hide)
    GUICtrlSetState($lbl_fortschritt, $gui_hide)
    GUICtrlSetState($btn_verbinden, $gui_hide)
    GUICtrlSetState($lbl_passwort, $gui_hide)
    GUICtrlSetState($Label1, $gui_hide)
    GUICtrlSetState($Group1, $gui_hide)
    GUICtrlSetState($radio_dsl, $gui_hide)
    GUICtrlSetState($radio_umts, $gui_hide)
    GUICtrlSetState($chk_showpw, $gui_hide)
    _WriteLogData("Controls ausgeblendet.")
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Controls einblenden

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

    Func _Einblenden()
    GUICtrlSetState($fortschritt, $gui_show)
    GUICtrlSetState($lbl_fortschritt, $gui_show)
    GUICtrlSetState($Label1, $gui_show)
    GUICtrlSetState($lbl_passwort, $gui_show)
    GUICtrlSetState($btn_verbinden, $gui_show)
    GUICtrlSetState($Group1, $gui_show)
    GUICtrlSetState($radio_dsl, $gui_show)
    GUICtrlSetState($radio_umts, $gui_show)
    GUICtrlSetState($chk_showpw, $gui_show)
    _WriteLogData("Controls eingeblendet.")

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Exitus
    Func _Terminate()
    Exit 0
    _WriteLogData("XConnect beendet")
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Func _nichts()
    ; die sit eine Nichtfunktion:-)
    ;wird gebraucht um das HotKeySet ESC = _Termiate wieder zurückzusetzen.
    ;Damit die das $childform nicht "versehentlich mit ESC schliessen...
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _showpw()

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

    If GUICtrlRead($chk_showpw) = $GUI_CHECKED Then
    _GUICtrlEdit_SetPasswordChar($lbl_passwort)
    GUICtrlSetState($lbl_passwort,$GUI_FOCUS)
    Else
    _GUICtrlEdit_SetPasswordChar($lbl_passwort, "*") ; hier das "*" verändern
    GUICtrlSetState($lbl_passwort,$GUI_FOCUS)
    EndIf
    _WriteLogData("Passwort angezeigt.")

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

    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Func _DeleteFiles()

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

    FileDelete(@ScriptDir & "\*.jpg")
    _WriteLogData("JPGs wurden gelöscht")
    FileDelete(@ScriptDir & "\*.wav")
    _WriteLogData("WAV wurde gelöscht")

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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


    :rock:

  • Update Funktion gesucht

    • Camulus
    • 20. April 2011 um 10:39

    besteht das Problem noch?
    dann könnte ich das anbieten:

    Die Updateüberprüfung:

    Spoiler anzeigen
    [autoit]


    Func _CheckOnProgUpdate()

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

    Local $VersionRunningExe, $GetDateTimeRunningExe, $NameRunningExe
    Local $VersionNewExe, $GetDateTimeNewExe
    Local $CopyReturnValue = 0
    ;Local $UpdateServer = @LogonServer
    Local $UpdateServer = "dc.X.local"
    Local $XConnectUpdate = "\\" & $UpdateServer & "\Netlogon\Updates\XConnect.exe"

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

    $VersionRunningExe = FileGetVersion(@AutoItExe)
    $GetDateTimeRunningExe = FileGetTime(@AutoItExe, 1,1)
    $NameRunningExe = @ScriptName
    $VersionNewExe = FileGetVersion($XConnectUpdate)
    $GetDateTimeNewExe = FileGetTime($XConnectUpdate, 1,1)

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte" & @CRLF & @CRLF & "Es wird nach Programmupdates gesucht.")
    Sleep(500)

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

    ;If FileExists($XConnectUpdate) Then
    If $VersionNewExe > $VersionRunningExe Then

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Programmupdate wurde gefunden")

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Derzeitige Version = " & $VersionRunningExe & " Version auf Server = " & $VersionNewExe)
    sleep(1000)
    If $VersionNewExe > $VersionRunningExe Then

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Kopiervorgang neue Programmversion wurde gestartet.. ")

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

    $CopyReturnValue = FileCopy($XConnectUpdate, $DownloadDir ,8)

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

    If $CopyReturnValue = 0 Then

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

    MsgBox(16,"Fehler bei Programmupdate ........", _
    "Beim Kopieren der neuen Programmversion ist ein Fehler aufgetreten." _
    & @CRLF & @CRLF & " Bitte verständigen Sie den IT-Support " _
    & @CRLF & " Programm = XConnect.exe" _
    & @CRLF & " Version = " & $VersionRunningExe & " Datum = " & $GetDateTimeRunningExe _
    & @CRLF & @CRLF & " Das Programm wird mit der derzeitigen Version weiter ausgeführt!",10)

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

    Return 0 ;Kopieren fehlgeschlagen

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

    EndIf

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

    Return 1 ;Kopieren war OK
    Else

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

    Return 2 ;Keine Updates Verfügbar

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

    EndIf
    Else
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Keine Udates verfügbar" & @CRLF & @CRLF& "Dies ist die aktuelle Version")
    Sleep(1000)
    EndIf

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

    EndFunc

    [/autoit]


    die Update exe:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If ProcessExists("XConnect.exe") Then

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

    SplashTextOn("Ein Moment bitte... ",@CRLF & "XConnect wird beendet .....","-1","100","-1","-1",0,"","","")
    Sleep(1000)
    ProcessClose("XConnect.exe")
    Sleep(1000)
    SplashOff()
    EndIf

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

    SplashTextOn("Ein Moment bitte... ",@CRLF & "XConnect.exe wird in XConnect.old umbenannt .....","-1","100","-1","-1",0,"","","")
    Sleep(1000)
    If FileExists(@ScriptDir & "\Download\XConnect.exe") Then

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

    FileMove(@ScriptDir & "\XConnect.exe",@ScriptDir & "\XConnect.old",1)

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

    EndIf
    SplashOff()

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

    SplashTextOn("Ein Moment bitte... ",@CRLF & "XConnect.exe wird installiert .....","-1","100","-1","-1",0,"","","")
    Sleep(1000)
    If FileExists(@ScriptDir & "\Download\XConnect.exe") Then

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

    FileMove(@ScriptDir & "\Download\XConnect.exe",@ScriptDir & "\XConnect.exe",1)

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

    EndIf
    SplashOff()

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

    SplashTextOn("Ein Moment bitte... ",@CRLF & "Installationsverzeichnis wird entfernt .....","-1","100","-1","-1",0,"","","")
    Sleep(1000)
    DirRemove(@ScriptDir & "\Download\", 1)
    SplashOff()
    RunWait("rasdial /DISCONNECT","",@SW_HIDE)
    Run("net use /delete * /YES","",@SW_HIDE)
    ;~ SplashTextOn("Bitte starten Sie XConnect neu.","-1","100","-1","-1",0,"","","")
    ;~ Sleep(1000)

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

    Run("XConnect.exe")
    exit

    [/autoit]

    Die Update exe ist in die abzudatende exe eingebunden und wird dann aufgerufen wenn die Überprüfung was findet.

  • Button in zweiter GUI funktioniert nicht

    • Camulus
    • 13. April 2011 um 15:25

    Aneinander vorbei geredet haben wir nicht.
    Ich hab deinen Code genutzt.
    Aber es hat mich auf die richtige Fährte geführt:

    Das hier:
    https://www.autoit.de/index.php?page=Thread&threadID=19643

    hat auch geholfen. ich poste das Script mal wenn ich es ein bißchen aufgeräumt habe.

    Danke euch!

  • Button in zweiter GUI funktioniert nicht

    • Camulus
    • 13. April 2011 um 11:18

    Ich hab es mal mit der MsgBox wieder gangbar gemacht.
    Aber es tut sich nix. Die funtion wird nicht ausgeführt :(

  • Button in zweiter GUI funktioniert nicht

    • Camulus
    • 13. April 2011 um 09:38

    Hallo Board ich habe ein kleines Prolem bei dem ich nicht so ganz weiter komme.
    Es dreht sich alles um ein kleines Tool mit dem sich unsere Aussendienstler per VPN einwählen, Laufwerke bekommen und ein paar andere Kleinigkeiten.
    Das funktioniert auch im großen und ganzen.

    Ein Kollege kam an und wollte eine zweite GUI haben mit der agezeigt ob sie verbunden sind und mit welchen Antwortzeiten.
    Nicht wundern...einige unserer Aussendienstler sind...etwas..."beratungsbedürftig":-)

    Die GUI kommt auch und zeigt was sie soll.
    Aber der Button "Trennen" macht nix.

    Ein andere Kollege hat mir schon den Tipp gegeben alles auf "GUIOnEventMode" umzustellen. hab ich gemacht...geht trotzdem nicht :whistling:

    Hier mal mein Script.
    Warum tuts der Button nicht?

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_icon=icon3.ico
    #AutoIt3Wrapper_outfile=firmaConnect.exe
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Comment=firma Connect stellt eine VPN Verbindung zu firma her.
    #AutoIt3Wrapper_Res_Description=firmaConnect
    #AutoIt3Wrapper_Res_Fileversion=3.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2010 IT der firma Pflegeberatung
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.0.0.0
    Author: Boris Wagener

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    FileInstall("firmaVPN.jpg","firmaVPN.jpg",1)
    FileInstall("icon3.ico","icon3.ico",1)
    FileInstall("Logon.wav","Logon.wav",1)

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

    ; Script Start - Add your code below here

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

    #include <Inet.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <Process.au3>
    #include <date.au3>

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

    ;############################################################################################################################################################
    ;~ Formular

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

    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    #Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\firmaConnect V3\Form1.kxf
    $Mainform = GUICreate("firma Connect V3.0", 397, 469, 150, 123, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetIcon("icon3.ico")
    GUISetBkColor(0xFFFFFF)
    $fortschritt = GUICtrlCreateProgress(32, 256, 335, 17)
    $Pic1 = GUICtrlCreatePic("firmaVPN2.jpg", 8, 8, 380, 132, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $lbl_info = GUICtrlCreateLabel("", 32, 148, 335, 108, BitOR($SS_CENTER,$SS_SUNKEN))
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    $Group1 = GUICtrlCreateGroup("Verbindungsart:", 40, 280, 313, 65)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $radio_dsl = GUICtrlCreateRadio("DSL/ WLAN", 80, 312, 129, 17)
    $radio_umts = GUICtrlCreateRadio("UMTS", 240, 312, 81, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $lbl_passwort = GUICtrlCreateInput("", 144, 368, 161, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $Label1 = GUICtrlCreateLabel("Passwort:", 80, 368, 62, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 408, 155, 33, $WS_GROUP)
    GUICtrlSetOnEvent($btn_verbinden, "VPNConnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

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

    ;Form2
    $Childform = GUICreate("firma Connect V3.0", 349, 159, 10, 10, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    GUISetIcon("I:\firmaConnect V3\icon3.ico")
    GUISetBkColor(0xFFFFFF)
    $lbl_info2 = GUICtrlCreateLabel("", 24, 12, 295, 84, BitOR($SS_CENTER,$SS_SUNKEN))
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    $btn_trennen = GUICtrlCreateButton("Trennen", 96, 104, 155, 33, $WS_GROUP)
    GUICtrlSetOnEvent($btn_trennen, "VPNDisconnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUISetState(@SW_HIDE)

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

    #EndRegion ### END Koda GUI section ###

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Variablendeklaration
    $ProgramNameVersion = "firmaConnect -Köln- " & FileGetVersion(@AutoItExe)
    $Testdomain = "www.google.de"
    $Testserver = "dc.firma.local"
    $User = @UserName
    $LogonServer = @LogonServer

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

    Global $Mainform, $fortschritt, $Pic1, $lbl_fortschritt, $lbl_info, $User,$lbl_passwort, $btn_verbinden

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

    HotKeySet("{ESC}", "Terminate")

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ If FileExists(@ScriptDir & "\Download\") Then
    ;~ DirRemove(@ScriptDir & "\Download\", 1)
    ;~ EndIf

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

    ;~ If FileExists(@ScriptDir & "\firmaConnectUpdate.exe") Then
    ;~ FileDelete(@ScriptDir & "\firmaConnectUpdate.exe")
    ;~ EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Los gehts
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Ausblenden()
    ;VPN_Test()
    Form_Open()
    ;VPNStatus()

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

    While 1
    Sleep(500)
    WEnd

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;############################################################################################################################################################
    ; Funktionen
    ;############################################################################################################################################################
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Abprüfen einer VPN-Verbindung

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

    Func VPN_Test()
    $PingOnServer1 = Ping($Testserver,200)

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

    ; Wenn die VPN-Verbindung nicht besteht wird das Unterprogramm StartVPNConnect aufgerufen
    If $PingOnServer1 > 0 then
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Es besteht bereits eine VPN Verbindung.")
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "firma Connect wird beendet.")
    Sleep(1000)
    Terminate()
    EndIf

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

    Return
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func Form_Open()

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

    $InternetOK = TestOnInternetConnect();

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

    If $InternetOK = True Then

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

    Einblenden()

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

    GUICtrlSetState($radio_dsl, $GUI_CHECKED)

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

    ElseIf $InternetOK = False Then
    Einblenden()

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

    GUICtrlSetState($radio_umts, $GUI_CHECKED)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine DSL Verbindung."& @CRLF & @CRLF &"Verbindungsart UMTS wird gesetzt")
    Sleep(2000)

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

    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bereit zum Verbinden."& @CRLF & @CRLF & "Bitte geben Sie ihr Passwort ein,"&@CRLF & "und klicken Sie auf Verbinden.")

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

    GUICtrlSetData($fortschritt, 10)
    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Unterfunktion : Internetverbindung testen

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

    Func TestOnInternetConnect()
    Local $PingVar,$RoundTrip ; $PingVar ist auch der Rückgabeparameter

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Ein Moment bitte," & @CRLF & @CRLF& "Internetverbindung wird getestet.")
    sleep(1000)

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

    For $RoundTrip = 1 to 3
    ; !!! Hier sollte nicht nur eine! Domain abgefragt werden
    $PingVar = Ping($Testdomain,1000) ;Ping gibt die Antwortzeit in ms zurück

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

    if $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war

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

    $PingVar = Ping($Testserver ,100) ; Ping gibt die Antwortzeit in ms zurück
    EndIf

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

    If $PingVar > 0 Then ; Wenn ein ping (Domäne oder Host)erfolgreich war
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Internetverbindung besteht."& @CRLF & @CRLF & "Die Antwortzeit beträgt " & $PingVar & " ms.")
    Sleep(500)
    ; Warum wird hier die For-Schleife nicht abgebrochen ?
    Else
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Internetverbindung ist nicht erfolgt"& @CRLF & @CRLF& "Verbindung wird erneut getestet " & $RoundTrip)
    EndIf
    Next
    GUICtrlSetData($fortschritt, 10)
    Return $PingVar ; $PingVar ist der Rückgabeparameter
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func VPNConnect()

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

    If BitAND(GUICtrlRead($radio_dsl), $GUI_CHECKED) = $GUI_CHECKED Then

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

    StartVPNConnect()

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

    ;MapDrive()
    GUICtrlSetData($fortschritt, 75)
    ECM_Addins()
    GUICtrlSetData($fortschritt, 95)

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

    EndIf

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

    If BitAND(GUICtrlRead($radio_umts), $GUI_CHECKED) = $GUI_CHECKED Then
    StartUMTSInternetConnect()
    GUICtrlSetData($fortschritt, 50)
    MapDrive()
    GUICtrlSetData($fortschritt, 75)
    Sleep(500)
    ECM_Addins()
    GUICtrlSetData($fortschritt, 95)
    EndIf

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

    RunWait("gpupdate","",@SW_MINIMIZE)
    GUICtrlSetData($fortschritt, 100)
    Sleep(500)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Verbindungsaufbau abgeschlossen.")
    Sleep(2000)
    SoundPlay(@ScriptDir & "\logon.wav",1)
    ;Exit

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

    GUISetState(@SW_HIDE, $Mainform)

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

    VPNStatus()
    Return

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func VPNStatus()
    GUISetState(@SW_SHOW, $Childform)

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

    GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt") ; Da ist glatt gelogen abder irgendwas muss ja da stehen.

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

    RunWait("C:\firma\Sysinternals\Bginfo.exe C:\firma\Sysinternals\BGInfo_PC.bgi /accepteula /timer:0")
    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"BG Info wird gestartet.")

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

    ;#NoTrayIcon

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

    $Connection = Ping($Testserver,1000)

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

    ;Schleife einbauen Timerinit? http://www.autoit.de/index.php?page=Thread&threadID=8900
    ;If TimerDiff($begin) > 5000 Then

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

    GUICtrlSetData($lbl_info2, @CRLF & "VPN Verbindung zu firma aktiv." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")

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

    ;Hier muss ne Schleife rein
    While 1

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

    $Connection = Ping($Testserver,1000)
    Sleep (2000)
    ;Warnmeldung
    If $Connection > 350 then
    GUICtrlSetData($lbl_info2, @CRLF & "Achtung!" & @CRLF & @CRLF &"Sehr langsame Verbindung!" & @CRLF & "Arbeit nur unter Schwierigkeiten möglich!")
    ;GUICtrlSetBkColor($lbl_info2, 0xFF0000)
    Else
    GUICtrlSetData($lbl_info2, @CRLF & "VPN Verbindung zu firma aktiv." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")

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

    EndIf

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

    WEnd

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func VPNDisconnect()
    Run("rasdial /DISCONNECT","",@SW_HIDE)
    Sleep(1000)
    Run("net use /delete * /YES")
    Sleep (1000)
    Exit
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func StartVPNConnect()
    Local $PingVar, $RoundTrip, $InitTime, $PID
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName =('"firma VPN"')
    $Testserver = "dc.firma.local"
    $rasdial =("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:firma")

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

    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.");& @CRLF & "und mit Server erbunden")

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

    ; MsgBox(0,"", $rasdial)
    $Connect= RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
    ;MsgBox(0,"",$Connect)

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

    If $Connect <> 0 Then
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bei der Verbindung trat ein Fehler auf." & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "firma Connect wird beendet")
    Sleep(2000)
    ProcessClose ($Connect)
    Exit
    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.")
    Sleep(1000)
    $PingVar = Ping($Testserver,1000)
    While $PingVar = 0
    Sleep(100)
    $PingVar = Ping($Testserver,1000) ;sonst ändert sich $pingvar nicht:-)
    WEnd
    GUICtrlSetData($fortschritt, 20)
    Sleep(500)
    GUICtrlSetData($fortschritt, 30)
    Sleep(500)
    GUICtrlSetData($fortschritt, 40)

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

    Return $PingVar

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Unterfunktion : Starten der UMTS-Internet-Verbindung

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

    Func StartUMTSInternetConnect()
    Local $PingVar, $RoundTrip, $InitTime, $PID, $passwort, $ConnectionName, $Testserver, $user, $Testdomain
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName =('"firma VPN"')
    $Testserver = "dc.firma.local"
    $User = @UserName
    $Testdomain = "www.google.de"

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

    $rasdial =("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:firma")

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

    Run("C:\Program Files\Option\GlobeTrotter Connect\GlobeTrotter Connect.exe")
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bitte stellen Sie die Verbindung" & @CRLF & @CRLF& "über GlobeTrotter Connect her.")
    Sleep(1000)
    WinWait("GlobeTrotter Connect", "Disconnect")

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

    $PingVar = Ping($Testdomain,1000); solange keine Internetverbindung besteht gehts nicht weiter

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

    While $PingVar = 0;Warten bis Verbindung steht
    ;MsgBox(0,"Ping" , $PingVar,1)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Internetverbindung wird über UMTS hergestellt.")
    Sleep(100)
    $PingVar = Ping($Testdomain,1000)

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

    WEnd

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

    ;Dann rasdial
    RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)

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

    If $PingVar > 0 Then
    WinSetState("GlobeTrotter Connect","",@SW_MINIMIZE)

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

    ;ExitLoop
    EndIf

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

    ;WEnd
    ;$UMTSPing = Ping($Testdomain,1000)
    GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Verbindungsgeschwindigkeit" & @CRLF & @CRLF& $PingVar & " ms")
    sleep(1000)

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

    Return $PID; $PingVar
    EndFunc

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func MapDrive()

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

    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Ein Moment bitte,"& @CRLF & @CRLF & "Ihre Netzwerklaufwerke werden verbunden.")

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

    RunWait(@LogonServer & "\netlogon\logon.bat","",@SW_HIDE)
    sleep(1000)

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

    GUICtrlSetData($lbl_info,@CRLF & @CRLF &"Netzwerklaufwerke erfolgreich verbunden.")
    Sleep(500)
    Return

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Outlook Addins aktivieren
    Func ECM_Addins()
    IfProcessExists("outlook.exe") Then
    GUICtrlSetData($lbl_info,"Outlook ist noch geöffnet, bitte beenden.")
    MsgBox(48,"Outlook bitte beenden....","Bitte beenden Sie Outlook, bevor die Anmeldung komplett ausgeführt wird." & @CRLF & @CRLF & "Oder klicken Sie auf OK und outlook wird automatisch beendet")
    IfProcessExists("outlook.exe") Then
    SplashTextOn("Ein Moment bitte...",@CRLF & "Outlook wird gestoppt.......","-1","100","-1","-1",0,"","","")
    Sleep(500)
    ProcessClose("outlook.exe")
    Sleep(500)
    SplashOff()

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

    Else

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

    EndIf
    EndIf

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

    GUICtrlSetData($lbl_info,@CRLF &@CRLF & "Outlook AddIns werden aktiviert.")
    Sleep(500)

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

    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\AddIns\firma.ECM.OutlookAddIn","LoadBehavior","REG_DWORD","00000003")
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\InfoPath\AddIns\firma.ECM.InfoPathAddIN","LoadBehavior","REG_DWORD","00000003")

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

    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Outlook AddIns aktiv.")
    Sleep(500)
    GUICtrlSetData($fortschritt, 95)
    Return
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ Controls verstecken
    Func Ausblenden()

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

    GUICtrlSetState($fortschritt, $gui_hide)
    GUICtrlSetState($lbl_fortschritt, $gui_hide)
    GUICtrlSetState($btn_verbinden, $gui_hide)
    GUICtrlSetState($lbl_passwort, $gui_hide)
    GUICtrlSetState($Label1, $gui_hide)
    GUICtrlSetState($Group1, $gui_hide)
    GUICtrlSetState($radio_dsl, $gui_hide)
    GUICtrlSetState($radio_umts, $gui_hide)

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Controls einblenden

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

    Func Einblenden()
    GUICtrlSetState($fortschritt, $gui_show)
    GUICtrlSetState($lbl_fortschritt, $gui_show)
    GUICtrlSetState($Label1, $gui_show)
    GUICtrlSetState($lbl_passwort, $gui_show)
    GUICtrlSetState($btn_verbinden, $gui_show)
    GUICtrlSetState($Group1, $gui_show)
    GUICtrlSetState($radio_dsl, $gui_show)
    GUICtrlSetState($radio_umts, $gui_show)

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Exitus
    Func Terminate()
    Exit 0
    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Ist alles noch etwas chaotisch... Verbesserungsvorschläge nehme ich natürlich immer gerne an.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™