shellexecute - Netzlaufwerk öffnen

  • Hallo liebe Community,

    ich habe in einem meiner Programme ein Einstellungsmenü gebaut. Dort kann man Pfade usw. definieren.

    Mein Problem was ich jetzt habe, ist das der Befehl Shellexecute beim öffnen eines Netzlaufwerkes probleme macht.

    Auf (C:\) funktioniert es aber auf mein Sharelaufwerk was ich hinzugefügt habe nicht. Im Anhang ein Screenshot

    Wenn ich es so schreibe: (\\Share\unterordner) geht der Befehl. Aber ich möchte wissen warum es nicht so (Y:\) funktioniert. Es kommt mir vor das dieses Laufwerk noch irgendwo in der Registry oder so vermerkt werden muss, damit der Befehl "Shellexecute" damit was anfangen kann.

  • Hi,

    ich hab mir ein Netzlaufwerk angelegt, den Pfad (Y:\) in eine Test-GUI gepackt und mit Button und Shellexecute öffnet sich das Laufwerk.

    Als ich das Netzlaufwerk wieder getrennt hatte, kam der selbe Fehler wie bei dir - also: evtl ist es nicht verbunden? :)

    Grüße,

    x0r

  • Wenn du ein Netzlaufwerk mappst, kannst du dabei angeben, ob es nur für die aktuelle Sitzung oder permanent angelegt werden soll. Im letzten Fall wird dies in der Registry vermerkt.

    Wenn ShellExecute nicht auf das Laufwerk zugreifen kann, existiert es auch nicht, evtl. weil es nicht permanent angelegt wurde.

    Schau dir mal die Funktionen DriveMap* an...

    DriveMapAdd, DriveMapDel, DriveMapGet

    AutoIt
    If DriveMapGet('Y:') Then
        ConsoleWrite('> Drive Y: is mapped!' & @CRLF)
    Else
        ConsoleWrite('! Drive Y: is not mapped!' & @CRLF)
        Local $vMapp = DriveMapAdd('Y:', '\\Server\mnt', $DMA_AUTHENTICATION) ; Show authentication dialog if required
    ;~     Local $vMapp = DriveMapAdd('Y:', '\\Server\mnt', BitOR($DMA_PERSISTENT, $DMA_AUTHENTICATION)) ; Persistent mapping
        If Not $vMapp Then ConsoleWrite("Can't mapp Drive Y:!" & @LF & "!@ " & @TAB & "#Error: " & @error & @TAB & "#Extended: " & @extended & @LF)
    EndIf
  • Ich glaube ich habs jetzt. Muss es dann noch in der Firma mit dem Sharelaufwerk ausprobieren.

    Jetzt würde mich aber dennoch interessieren, warum nur meine NAS (Laufwerk Y) unter "HKEY_CURRENT_USER\Network\" angezeigt wird und nicht die anderen Laufwerke. Ich habe zum Beispiel noch das Laufwerk Z das auf ein anderes Verzeichnis der NAS zugreift...

  • Ich hab es in der Firma ausprobiert. Bei mir selbst geht es mit den mappen und drauf zugreifen.

    Bei meinen Arbeitskollegen geht es nicht, weil in seinem Windows irgendwo eingestellt ist, das die Anmeldeinformationen (z.b. auch wenn man sich per RDP mit jemanden verbindet) immer eine "E-Mail und Passwort" statt "Benutzer und Passwort" verlangt.

    hat mit dem eigentlichen Thema hier nichts mehr zu tun. Dennoch mal ein Screenshot. Vllt. weiß das einer spontan.

  • Hallo!

    Ich wüsste keine Einstellung die NUR Email-Adresse/Passwort zulässt. Hast Du schon probiert ob es nicht einfach mit Domain\User, Kennwort geht?

    Ein paar Ideen/Fragen dazu:

    Ist der angemledete Benutzer der auch das Laufwerk verbinden soll oder wird ein eigener User verwendet?

    => Wenn nicht, funktioniert es mit DriveAddMap ? Hier kannst Du auch gleich User/PW mitgeben

    Sind Kennwörter im "Tresor" für die Verbindung gespeichert? (Sollte deaktiviert werden da der Tresor ein großes Sicherheitsrisiko darstellt)

    Was für ein Fileserver ist dahinter (Windows Server, Linux, NetAPP,...) Welche SMB Version wird verwendet!

    Gibt es überhaut eine Domain? bestmc.ddns.net hörts sich nicht so an - oder ist das nur ein Test?

    lg

    Racer