DriveMapAdd Problem unter Win7

  • Hallo AutoItlerInnen und AutoItler,

    ich habe vor einiger zeit ein Programm geschrieben,
    um Netzlaufwerke in einer VPN-Sitzung zu verbinden und zu trennen.
    Einige Kollegen teilten mir mit,
    dass sie Probleme unter Windows 7 mit den Netzlaufwerken haben.
    Leider bin ich jetzt auch auf Windows 7 umgestiegen (Neuer Rechner),
    und mich betrifft das Problem nun auch.

    Wenn ich mit AutoIt den DriveMapAdd Befehl ausführe,
    dann gibt dieser unter Win7 eine erfolgreiche Verbindung zurück,
    obwohl kein Laufwerk angelegt wurde.
    Wenn ich auf "net use" zurück greife,
    dann bekomme ich den Fehler:
    Systemfehler 53 aufgetreten.
    Der Netzwerkpfad wurde nicht gefunden.

    Das Laufwerk von Hand (über den Explorer) zu verbinden,
    ist kein Problem.

    Nun dachte ich mir ich greife auf das COM-Objekt "Wscript.Network" zu.

    [autoit]

    $WsN = ObjCreate( "Wscript.Network" )
    $WsN.MapNetworkDrive( $LS_lett, $LS_path, False, $CONF_User, $CONF_Pass )

    [/autoit]


    Das funktioniert auch super,
    nur leider läuft das Programm unter Admin rechten,
    um die VPN-Kommunikation hin zu bekommen.
    Und dann funktioniert es wieder nicht.
    Ich bekomme den Fehler:
    Error: The requested action with this object has faild.

    Hat einer vielleicht noch jemand eine Idee?

    Gruß tromorow

    Einmal editiert, zuletzt von tromorow (21. April 2011 um 13:47)

  • wie wärs mit

    [autoit]

    #requireadmin

    [/autoit]


    am Anfang deines Scriptes?

    da Du die hier ja eh brauchst...

    Zitat

    nur leider läuft das Programm unter Admin rechten,
    um die VPN-Kommunikation hin zu bekommen.

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • moin,
    wenn ich mich jetzt nicht täusche, dann sollte das sogar auf einem Windows 2008 Server funktionieren....
    wenn net use eine fehlermeldung bringt, würde ich autoit nicht als fehler sehen.

    Adminrechte um ein netzlaufwerk zu verbinden braucht man eigentlich nicht.

    Erstelle mal eine freigabe auf diesem rechner und verbinde dich mal mit dieser freigabe (über localhost)

  • @ Dietmar
    Ich habe es auch schon mit requireadmin versucht, aber das Programm hat ja bereits Adminrechte.

    @ GerhardSchr
    Das scheint ohne Probleme zu funktionieren.
    Nur leider weiß ich nicht wie mir das weiter hilft.

    Den Fehler hab ich nicht bei AutoIt gesehen, sondern allgemein an Win7.
    Wenn selbst "net use" nicht richtig funktioniert.
    Wie gesagt, auf XP hatte ich mit dem selber script keine Probleme.

  • Habe Lösungen Gefunden.
    Das Problem liegt am Samba Server (Daran hab ich leider noch nicht gedacht :S ).
    Habe feststellen müssen,
    dass Win7 eine NTLMv2 Authentifizierung erzwingt.
    Und mein Samba hatte eben nur NTLM.
    Entweder man setzt den Registrykey:

    Code
    [HK_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
    LmCompatibilityLevel = 2


    LmCompatibilityLevel muss dabei ein DWORD sein.
    Oder (wie ich es jetzt getan habe),
    man updatet seinen Samba Server, und füge:

    Code
    client NTLMv2 auth = yes


    in die Konfiguration ein.

    Vielen Dank für eure Bemühungen.

    Gruß tromorow

    Quellen:
    http://repat.de/2011/02/samba-…ystemfehler-86/
    http://lists.samba.org/archive/samba/…ary/080468.html

  • Hier gehts mit Win7@64 ohne zusätzlliche Verenkungen also Win greift auf share von Linux zu.
    Andersherum ist dann evtl noch wichtig ob man smbfs oder cifs benutzt.
    Bei Ubuntu habe ich auch mehrmals wegen samba geflucht, zumindest clientseitig,
    das klappte bei debian / gen2vdr immer stressfreier.

    smb.conf:

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o