Netzlaufwerk einbinden Win10

  • Guten Abend und ein frohes 2023!

    Ich versuche gerade per script mehrere Netzlaufwerke unter Windows 10 einzubinden.

    Die Laufwerkbuchstaben sind nicht belegt, der Benutzer und das Passwort sind in den Windows Anmeldeinformationen hinterlegt und mit copy/paste der Pfade geht das einbinden über den Explorer (Netzlaufwerk einbinden) problemlos.

    AutoIt
    #include <AutoItConstants.au3>
    #include <Process.au3>
    
    DriveMapAdd("G:", "\\192.168.150.34\Bücher Cloud") ;Lösung 1: geht, aber nach Neustart weg
    DriveMapAdd("G:", "\\192.168.150.34\Swiffer") ;Lösung 1: geht, aber nach Neustart weg
    DriveMapAdd("G:", "\\192.168.150.34\Swiffer /persistent:yes") ;nop, ein Versuch wars wert
    _RunDOS("net use H: \\192.168.150.34\Bücher Cloud /persistent:yes") ;Lösung 2: geht nicht, Systemfehler 87 aufgetreten. Falscher Parameter.
    _RunDOS("net use I: \\192.168.150.34\Swiffer /persistent:yes") ;Lösung 2: geht, aber nur solange kein Abstand im Name siehe #7

    Lösung 1: Funktioniert ist aber nach einem Neustart wieder weg: DriveMapAdd("G:", "\\192.168.150.34\Bücher Cloud")

    Falls es hier eine möglichkeit gibt die Laufwerke nach dem Neustart wieder einzubinden wäre das die Lösung. Per Aufgabenplanung oder Autostart scheint mir ein wenig speziell..

    Lösung 2: Funktioniert bei allen Laufwerken ohne Abstand im Namen?!?:

    Funktioniert nicht: _RunDOS("net use H: \\192.168.150.34\Bücher Cloud /persistent:yes") Systemfehler 87 aufgetreten. Falscher Parameter.

    Funktioniert: _RunDOS("net use I: \\192.168.150.34\Swiffer /persistent:yes")

    Übersehe ich etwas oder hat ggf. Windows einen weg?

    Grüsse Swiffer

    Sauber bleiben.

  • Versuch mal bei _RunDOS("net use H: \\192.168.150.34\Bücher Cloud /persistent:yes") auch beim Pfad " zu nutzen, also so:

    _RunDOS("net use H: '\\192.168.150.34\Bücher Cloud' /persistent:yes")

  • Danke Moombas

    _RunDOS("net use H: '\\192.168.150.34\Bücher Cloud' /persistent:yes") =

    Systemfehler 67 aufgetreten. Der Netzwerkname wurde nicht gefunden.

    Da habe ich wohl irgendwas zerschossen, normal scheint das nicht. -.-

    Danke Gun-Food

    So geht es und das Laufwerk wird auch bei einem Neustart wieder eingebunden.

    $DMA_PERSISTENT habe ich in der Hilfe nicht gefunden. Omg jetzt sehe ich es bei den Flags.

    Das ärgert mich echt ein wenig nicht selber darauf gekommen zu sein. Es stand ja alles da!

    Ich muss mal schauen wie ich die Hilfe auf Deutsch umgestellt bekomme.

    Sauber bleiben.

  • Ich tippe die einfachen Hochkommata gehen in der Kommandozeile nicht:

    Code
    _RunDOS("net use H: '\\192.168.150.34\Bücher Cloud' /persistent:yes")

    probier es mal getauscht:

    Code
    _RunDOS('net use H: "\\192.168.150.34\Bücher Cloud" /persistent:yes')

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Auch _RunDOS('net use H: "\\192.168.150.34\Bücher Cloud" /persistent:yes') oder _RunDOS("net use H: '\\192.168.150.34\Programme Cloud' /persistent:yes") gehen nicht.

    Zum Glück funktioniert es aber mit DriveMapAdd / $DMA_PERSISTENT einwandfei.

    Das passt so. Danke nochmal für Eure Hilfe!

    Sauber bleiben.

  • Nur so zur Abrundung... Wenn ein DOS Befehl unter Run "Zicken" macht erst mal ausprobieren ob er das auch iin einer Batch Datei macht was er soll. Meist sind nur kleinste Syntaxfehler für die Fehlermeldung zuständig. Parameter weglassen (Persistent) und stückweise vorgehen. Wenn man fertig ist fragt man sich meist warum nicht gleich so. Wenn sich der befehl aus der *.bat dann nicht "übertragen" lässst (was ich nicht glaube) gibt es ja noch die Möglichkeit die *.bat aus Autoit heraus aufzurufen. Hat manchmal sogar Vorteile. Im vorliegenden Fall könnte man Zuordnungen ändern ohne ini ohne Source zu ändern.

    Der net use MUSS funktionieren und löst das Problem in xtausend Scripten....

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    Einmal editiert, zuletzt von Peter S. Taler (5. Januar 2023 um 12:33)

  • Hallo!

    Ein kleiner Erfahrungswert mit den Netzlaufwerke: Das verwenden von Laufwerksbuchstaben ist schon sehr sehr alt und eigentlich braucht man diese seit 20 Jahren nicht mehr. Ich weiß, viele verwenden diese aus Gewohnheit, aber es würde auch ein Shortcut auf \\server\freigabe reichen.

    Was weniger bekannt ist: es gibt einen technischen Unterschied: Wird beim Start von Windows bzw. der Benutzeranmeldung ein Netzlaufwerk mit einem Buchstaben verwendet wird auch versucht diesen zu verbinden. Wenn das nicht gleich funktioniert, z.B.: Notebook das nicht im (W)Lan ist, was ja bei Windows öfter vorkommt als man glaubt, dauert die Anmeldung deutlich länger und im schlechtesten Fall hat man im Explorer beim Buchstaben ein rotes X daübergelegt (konnte nicht verbunden werden). Programme die möglichweise im Autostart sind und auf den Buchstaben verweisen (auch Links in Execl, Word,...) brauchen dann ewig bis sie dann in ein Timeout laufen. Ganz schlimm ist es mit Outlook und PST-Datein die auf einen Share liegen: So manches Outlook gackt dann ab...

    Verwendet man nur UNC-Pfade passiert die Prüfung erst wenn der Link auch verwendet wird. Das ist deutlich schneller und konfortabler und diese "alt"-Problem (stammen von Windows 3.11 !!) gibt es dann nicht oder nicht in der Form.

    Wie gesagt, ist ein Erfahrungswert aber ich versteht wenn man lieb gewonnen Handhabungen nicht her geben möchte.

    lg

    Racer

  • erst mal ausprobieren ob er das auch iin einer Batch Datei macht was er soll.

    Macht schon Sinn ja. Ich habe es erst in CMD versucht. Kommt vermutlich auf das gleiche raus?

    Habe jetzt ein Bat File mit folgendem Text erstellt: (Copy/Paste vom funktionierenden Swiffer nur mit Namensänderung daher eher keine Syntaxfehler)

    net use I: \\192.168.150.34\Swiffer /persistent:yes ;= User/Pass abfrage, wird eingebunden

    net use J: \\192.168.150.34\Programme Cloud /persistent:yes ;= keine Meldung, kein Einbinden (Am Laufwerk liegt es nicht, geht ja mit DriveMapAdd)

    aber es würde auch ein Shortcut auf \\server\freigabe reichen.

    Kannst Du Gedanken lesen?

    Ich bediene gerade meine Suchmaschine weil mir die Laufwerkbuchstaben ausgehen, schaue kurz hier rein und Du schreibst sowas. :D

    Super Tipp, Danke für die Infos! Das werde ich gleich ändern und in Zukunft so handhaben.

    Sauber bleiben.

  • Swiffer

    Reduziere den Befehl auf ein Minimum und schreibe den mal in eine Batch (da kann man Felversuche auskommentieren und behält leichter die Übersicht).

    Da wirst Du feststellen,

    net use y: "\\192.168.150.34\swiffer"

    funktioniert tadellos! Mit einer anderen IP bei mir ausprobiert!

    Nun stückweise die Parameter hinzufügen

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    2 Mal editiert, zuletzt von Peter S. Taler (7. Januar 2023 um 19:09)

  • Freut mich die Helfen zu können.

    Es gibt noch eine nette kleine Handhabung: Sind mehrer Freigaben am gleichen Server, z.B.: Im HomeNAS, dann reicht im Explorer (oder Desktop) der Shortcut auf den Server: \\Server

    Die Freigaben die nicht versteckt sind werden dann gelistet:

    Es gibt aber Programme die können damit nicht umgehen - das muss man halt vorher austesten...

    lg

    Racer

  • Peter S. Taler

    Du hast völlig recht.

    net use y: "\\192.168.150.34\programme cloud"

    funktioniert. Danke.

    Ich merke mir: Reduziere den Befehl auf ein Minimum... Nun stückweise die Parameter hinzufügen. (Und vorallem setzte die " am richtigen Ort!-.-)

    Racer

    Na klar. Jetzt nachdem ich x Verknüpfungen erstellt habe kommt: Shortcut auf den Server: \\Server ;) Danke, funktioniert prima.

    Zwei Laufwerke habe ich eingebunden gelassen da Programme dies so haben wollen.

    Sauber bleiben.

  • Swiffer

    Freut mich wenn es funktioniert.

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)