WINPE-Laufwerk mappen via script

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

chats

Benutzer
Registriert
29. Sep. 2012
Beiträge
662
Reaktionspunkte
19
Punkte
38
Moin moin,
ich versuche mit WinPe ein Netzlaufwerk zu verbinden auf einer DS 1520+
Ich habe hierfür ein WinPE Bootstick auf dem ein selbst gebasteltes Script liegt und nach dem starten von WinPE ausgeführt wird.

Folgendes Problem tritt dabei auf: Manchmal, aber eher sehr selten verbindet sich das Laufwerk sofort.
Allerdings nach einem Neustart von WinPe kann das gleiche auch schon mal zwischen 5 und 10 Minuten dauern.
Ich kann sofort nach dem Start einen erfolgreichen Ping auf die DS machen. Das geht immer.
Ich habe bereits 3 PCs getestet und auch eine USB-Netzwerkkarte. Jedes mal verhält sich das Script anders.
Einen zweiten Stick hab ich mir auch parat gemacht. Immer das gleiche.
Auch ein manuelles Net Use \\ip-der-ds\freigabename geht meistens immer erst nach einigen Minuten.

Kann von Euch jemand was dazu sagen?
 
Wie unterscheidet sich denn das Verhalten des Scripts? Was genau meinst du damit?
Gitbt es irgendwelche Ausgaben, Fehlermeldungen etc.?
Was beinhaltet dein Script?
Gib uns doch etwas mehr Einblick sonst müssen wir wieder die Glaskugel aus der Vitrene hervorholen.
 
Also im Grunde kann ich das sehr stark vereinfachen:
Ich starte WinPE und wenn und anschließend führe ich ein Net Use Befehl: net use Z: \\192.168.178.100\Daten /user:test testpasswort
Es mach keinen Unterschied ob das Scriptgesteuert ist oder nicht.
Wie oben geschrieben Ping geht sofort, Net User manchmal sofort, manchmal eben erst nach 5 min oder länger
 
Das heißt wenn du das Script immer wieder ausführst, dann klappt es irgendwann einmal und die Verbindung kann hergestellt werden?
 
Ja, genau so ist das.
Auf der DS auch Testweise SMB1 eingeschaltet. Keine Änderung.
 
Hier mal ein Script um ein Log zu erzeugen, siehe zip Archiv im Anhang. Mal sehen ob wir herausfinden was die Ursache für dieses Delay ist.

Du musst lediglich den CONFIGRUATION Teil für deine Bedürfnisse anpassen.
Das Log landet dann auf der WinPE RAM disk (Laufwerk X:\)

Was das Skript tut​

Das Skript versucht in 4 Phasen eine Netzwerkfreigabe (SMB/NAS) unter WinPE einzubinden:


Phase 1 – Netzwerk-Diagnose​

Sofort beim Start wird der aktuelle Zustand aller Netzwerkadapter (ipconfig /all) und alle laufenden Dienste (net start) ins Log geschrieben. Das ist der Ausgangszustand für spätere Analyse.


Phase 2 – Warten auf Ping​

Das Skript pingt die NAS bis zu 20× (alle 3 s). Erst wenn ein Ping erfolgreich ist, geht es weiter. So wird sichergestellt, dass Layer 3 (IP-Verbindung) funktioniert, bevor SMB versucht wird.


Phase 3 – Warten auf TCP-Port 445 (SMB)​

Via PowerShell wird eine rohe TCP-Verbindung auf Port 445 der NAS aufgebaut – bis zu 30× alle 5 s. Das ist der entscheidende Schritt: Ping kann schon klappen, aber SMB ist noch nicht bereit. Genau hier wird die eigentliche Verzögerung sichtbar und im Log festgehalten.


Phase 4 – Laufwerk verbinden (Mount-Schleife)​

net use Z: \\IP\Freigabe wird bis zu 40× alle 15 s versucht. Bei jedem Fehler:

  • wird der genaue Fehlercode geloggt
  • wird der Fehlercode in Klartext übersetzt (z. B. [ERR 53] Network path not found)
  • alle 5 Versuche: erneuter ipconfig-Snapshot im Log
Bei Erfolg oder nach 40 Fehlversuchen wird der finale Zustand ins Log geschrieben.

Konfigurationsblock​

Code:
:: ============================================================
::  CONFIGURATION  --  edit this section only
:: ============================================================
set "NAS_IP=192.168.1.100"
set "SHARE_NAME=Freigabe"
set "DRIVE_LETTER=Z:"

:: Leave NET_USER / NET_PASS empty for guest / no credentials
set "NET_USER="
set "NET_PASS="

:: Maximum number of mount attempts
set /A MAX_RETRIES=40

:: Seconds to wait between failed attempts
set /A RETRY_DELAY=15

:: Log file location (X:\ is the WinPE RAM disk)
set "LOG=X:\mount_nas_log.txt"
:: ============================================================

1. Konfiguration anpassen

2. Skript auf den WinPE-USB-Stick kopieren, z. B. nach D:\Scripts\mount_nas.cmd

3. In WinPE im CMD-Fenster aufrufen: D:\Scripts\mount_nas.cmd

4. Log nach dem Lauf sichern (vor dem Neustart, sonst weg!): copy X:\mount_nas_log.txt D:\logs\mount_nas_log.txt


Wo im Log nachsehen?
  • Suche nach TCP 445 open on attempt → zeigt wie viele Sekunden die NAS für SMB gebraucht hat
  • Suche nach [ERR → zeigt welche Fehler net use gemeldet hat
  • Suche nach SUCCESS oder FAILED → Endergebnis
 

Anhänge

Vielen Dank. Ich kann es leider erst morgen testen. Ich berichte dann hier.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat