Fehler im Script oder ein anderes Problem?

  • Hi, ich bin immer noch ein meinem VPN Tool. Das Netzlaufwerke verbinden läuft alles über ein Script das die AD Gruppe abfragt und dementsprechen die Laufwerke verbindet.
    Das alle ssieht so aus:

    Spoiler anzeigen
    [autoit]


    Func _MapDrives()

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

    _AD_Open()
    $aUser = _AD_GetUserGroups(@UserName)
    _AD_Close()

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Ihre Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Bitte gedulden Sie sich einen Moment.")
    EndIf

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Laufwerke G:\ und H:\ für User mappen
    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    _ArraySearch($aUser, "CN=Mitarbeiter" , 0, 0, 0, 1)
    If Not @error Then

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

    DriveMapDel("G:")
    _WriteLogData("Laufwerk G:\ getrennt.")
    DriveMapDel("H:")
    _WriteLogData("Laufwerk H:\ getrennt.")

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

    $count =0
    $Laufwerk = "G:\"
    Do
    DriveMapAdd("G:", $G_CPP)

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    EndIf

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


    $Error = @error

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk G:\ nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: " & $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk G:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk G:\ verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ aus Childform verbunden.")
    EndIf

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

    EndIf

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

    $count =0
    Do
    DriveMapAdd("H:", $H_CPP)
    $Laufwerk = "H:\"
    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    EndIf

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

    $Error = @error

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk H:\ nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: "& $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk H:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk H:\ verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk H:\ verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk H:\ aus Childform verbunden.")
    EndIf
    EndIf

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

    EndIf

    [/autoit]

    Das ganze wiederholt sich noch ein paar mal je nach Gruppenzugehörigkeit.

    So jetzt stelle ich beim testen fest dass die exe manchmal scheinbar hängt nach der Meldung Laufwerk XY erfolgreich verbunden.
    Der Efffekt ist dann dass das Laufwerk schlicht und einfach nicht verbunden wurde. Im Log steht aber das es verbunden wurde.

    Also hab ich wahrscheinlich einen Fehler eingebaut den ich aber nicht finde. Sieht ihn einer von euch? Oder hat jemand eine andere Erklärung? Wir haben immer wieder mal das Phänomen dass einzelne Laufwerke nicht verbunden werden. Ob nun per Autoit, Batch, oder vbs Script.

    Unsere Theorie ist dass die Netzwerkverbindung (u.U. UMTS) einfach zu langsam ist und das alles in einen Timeout läuft.
    Gibt es noch andere Möglichkeiten die hier nur keiner kennt oder die keinem einfallen?

    Das wollte ich mit meinem Script eigentlich abfangen, aber besonders erfolgreich war es nicht :huh:

    Hier mal ohne die Ausgaben in der GUI ist etwas übersichtlicher:

    Spoiler anzeigen
    [autoit]


    Func _MapDrives()

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

    _AD_Open()
    $aUser = _AD_GetUserGroups(@UserName)
    _AD_Close()

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Ihre Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Bitte gedulden Sie sich einen Moment.")
    EndIf

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Laufwerke G:\ und H:\ für User mappen
    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    _ArraySearch($aUser, "CN=Mitarbeiter" , 0, 0, 0, 1)
    If Not @error Then

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

    DriveMapDel("G:")
    _WriteLogData("Laufwerk G:\ getrennt.")
    DriveMapDel("H:")
    _WriteLogData("Laufwerk H:\ getrennt.")

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

    $count =0
    $Laufwerk = "G:\"
    Do
    DriveMapAdd("G:", $G_CPP)

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


    $Error = @error

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk G:\ nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: " & $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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


    EndIf

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

    $count =0
    Do
    DriveMapAdd("H:", $H_CPP)
    $Laufwerk = "H:\"

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

    $Error = @error

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk H:\ nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: "& $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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

    EndIf

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

    EndIf

    [/autoit]


    EDIT: Also ich bin das gerade am testen. Ich hab nach jedem DriveMapadd noch ein Sleep(1000) eingebaut. Ab und an bekomme ich von dem Programm keine Rückmeldung. Dann wird in dem Besipiel7 jetzt laufwerk H übersprungen. Im Log steht dann Laufwerk H getrennt un d es geht mit dem nächsten weiter.

    Kann ich das "Keine Rückmeldung" irgendwie abfangen?

    Einmal editiert, zuletzt von Camulus (12. Juli 2012 um 09:10)

  • Ich hab ein bißchen aufgeräumt. Man möge mir das Pushen nachsehen aber ich habe noch ein anderes Problem entdeckt.

    Hintergrund.
    Es gibt ein Tool das eine VPN verbindung aufbaut, bunte Bildchen in einer GUI zeigt und die Funktion aus diesem Script aufruft.
    Getrennt habe ich das wegen der seperaten Updatemöglichkeit.
    Ich hab doch richtig verstanden dass es dann bei jeder Programmausführung neu includet wird oder? Wird das vielleicht irgendwo gecacht?

    Je nach AD Grupopenzugehörigkeit werden Netzlaufwerke gemappt.

    So siehts momentan aus:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Data\netzlaufwerk.ico
    #AutoIt3Wrapper_Outfile=Mapping.exe
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <AD.au3>
    #include <Array.au3>
    ;~ #include <WriteLogData.au3>
    ;~ #include <GUIConstantsEx.au3>

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;~ Damit man sich im Code nicht den Wolf sucht wenn mal was geändert wird packe ich die Netzwerkpfade in Variablen. Also muss es wenn nur hier geändert werden.
    ;~ Das Kommentar falls ich es vergesse oder falls es mal jemand anderes macht und nicht weiss was das soll:-)

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

    $G_CPP = ("\\XYZ\dfs\Abteilung")
    $H_CPP = ("\\XYZ\dfs\Home$\" & @UserName)

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

    Func _MapDrives()

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

    _AD_Open()
    $aUser = _AD_GetUserGroups(@UserName)
    _AD_Close()

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Ihre Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Bitte gedulden Sie sich einen Moment.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Ihre Netzlaufwerke werden verbunden," & @CRLF & "Bitte gedulden Sie sich einen Moment.")
    Sleep(1000)

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

    EndIf

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ ------------------------------------------------------------------------------------------------Laufwerk G: XYZ----------------------------------------------------------------------------------------------
    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    _ArraySearch($aUser, "CN=Mitarbeiter_XYZ" , 0, 0, 0, 1)
    $Laufwerk = "G:"

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

    If Not @error Then

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    EndIf

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

    DriveMapDel($Laufwerk)
    _WriteLogData("Laufwerk "&$Laufwerk&" getrennt.")

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

    $count =0

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

    Do

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

    DriveMapAdd($Laufwerk, $G_XYZ)

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

    Sleep(1000)

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk "&$Laufwerk&" nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    $Error = @error
    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: " & $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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

    EndIf

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk "&$Laufwerk&" verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk "&$Laufwerk&" aus Childform verbunden.")
    EndIf

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

    EndIf

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ ------------------------------------------------------------------------------------------------Laufwerk H: XYZ----------------------------------------------------------------------------------------------
    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    _ArraySearch($aUser, "CN=Mitarbeiter_XYZ" , 0, 0, 0, 1)
    $Laufwerk = "H:"

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

    If Not @error Then

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" wird verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk " &$Laufwerk&" wird verbunden.")
    EndIf

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

    DriveMapDel($Laufwerk)
    _WriteLogData("Laufwerk "&$Laufwerk&" getrennt.")

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

    $count =0

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

    Do

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

    DriveMapAdd($Laufwerk, $H_XYZ)

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

    Sleep(1000)

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

    If @error Then
    $count +=1
    _WriteLogData("Laufwerk "&$Laufwerk&" nicht verbunden. Fehlversuch:" & $count)
    Else
    ExitLoop
    EndIf

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

    Until $count >= 3

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

    If $count >=3 Then

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

    $Error = @error
    _ErrorLog($Error, $Laufwerk)
    MsgBox(48,"Netzlaufwerkverbindung fehlgeschlagen", "Laufwerk: " & $Laufwerk & " konnte nicht verbunden werden." & @CR & _
    "Bitte wenden Sie sich an den IT Support.")

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

    Else

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

    $Error = ""
    $Laufwerk = ""

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

    EndIf

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

    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk "&$Laufwerk&" erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk "&$Laufwerk&" verbunden.")
    ElseIf WinActive ("VPN Verbindungsstatus") Then
    ControlSetText("VPN Verbindungsstatus","",7, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk "&$Laufwerk&" verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk "&$Laufwerk&" aus Childform verbunden.")
    EndIf

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

    EndIf

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

    ;~ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    EndFunc

    [/autoit]

    Das wiederholt sich je nach AD gruppenzugehörigkeit noch für andere Laufwerke. Das hier ist nur ein Ausschnitt aber der Code ist immer der selbe.
    Jetzt habe ich zwei Probleme.
    Erstens bleibt das Script manchmal nach verbindung von Laufwerk G hängen und überspringt Laufwerk H: Im Log steht aber dass es verbunden wurde. Also funktioniert auch die Do Schleife nicht.
    Nur sehe ich nicht warum. Sieht es einer von euch?

    Also das Script bleibt bei der Verbindung von Laufwerk H: hängen.
    Wenn ich in dem Moment ein netuse in der DOS BOX abfeuere wird H: sofort verbunden.

    Sieht einer einen ehler warunm das Script an dieser Stelle manchmal nicht reagiert?

    Einmal editiert, zuletzt von Camulus (12. Juli 2012 um 12:18)

  • Füge doch mal direkt vor das Verbinden des Laufwerkes folgendes ein:

    [autoit]

    $iRTT = Ping("fileservername")
    _WriteLogData("Round Trip Time = " & $iRTT)

    [/autoit]

    Dann lässt Du das Script mehrmals durchlaufen.
    Der Fileserver wird gepingt und die Antwortzeit wird geloggt.
    Du vergleichst dann die Werte wo es funktioniert hat mit den Werten wo es nicht funktioniert hat.
    Wenn Du hier eindeutige Gemeinsamkeiten feststellen kannst, könntest Du dem Problem auf der Spur sein.

    Es könnte also sein, dass die Werte sehr hoch sind, wenn es nicht funktioniert das Laufwerk zu mappen und dass die Werte niedrig sind, wenn es funktioniert.