Per cmd alle Netzlaufwerke sichern und später neu einbinden
Guten Morgen zusammen
Gerne möchte ich folgendes realisieren und wäre für eure Hilfe sehr dankbar:
Z.B. per "net use" kann ich alle verbundenen Netzlaufwerke ermitteln. Dort sehe ich jeweils den Laufwerkbuchstaben (A-Z) und den dazugehörigen Server (\\Server1\irgendwas)
Mein Ziel wäre es, wenn ich irgendwie diese "net use" Informationen irgendwo exportieren könnte. Auf einem anderen PC würde ich dann gerne ein cmd ausführen, das dann alle gesicherten/exportierten Netzlaufwerke wieder mit den gleichen Laufwerkbuchstaben/Server verbindet.
Das einfache exportieren könnte ich z.B. so machen?:
net use > C:\Backup_Netzlaufwerke.txt
Schwieriger wird es sicherlich sein, wie ich diese dann genau auslesen könnte (mit einer Schleife?)
Ihr müsst natürlich nicht nur wegen mir jetzt was hinzaubern und programmieren. Aber vielleicht hat das jemand auch schon gebraucht und ein solches Script bei sich im "Archiv"?
Freundliche Grüsse
Gerne möchte ich folgendes realisieren und wäre für eure Hilfe sehr dankbar:
Z.B. per "net use" kann ich alle verbundenen Netzlaufwerke ermitteln. Dort sehe ich jeweils den Laufwerkbuchstaben (A-Z) und den dazugehörigen Server (\\Server1\irgendwas)
Mein Ziel wäre es, wenn ich irgendwie diese "net use" Informationen irgendwo exportieren könnte. Auf einem anderen PC würde ich dann gerne ein cmd ausführen, das dann alle gesicherten/exportierten Netzlaufwerke wieder mit den gleichen Laufwerkbuchstaben/Server verbindet.
Das einfache exportieren könnte ich z.B. so machen?:
net use > C:\Backup_Netzlaufwerke.txt
Schwieriger wird es sicherlich sein, wie ich diese dann genau auslesen könnte (mit einer Schleife?)
Ihr müsst natürlich nicht nur wegen mir jetzt was hinzaubern und programmieren. Aber vielleicht hat das jemand auch schon gebraucht und ein solches Script bei sich im "Archiv"?
Freundliche Grüsse
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 212735
Url: https://administrator.de/contentid/212735
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo blowdow!
Du meinst sowas wie zB in Aktuell verbundene Netzlaufwerke in ein Script schreiben mit net use?
Grüße
bastla
Du meinst sowas wie zB in Aktuell verbundene Netzlaufwerke in ein Script schreiben mit net use?
Grüße
bastla
Hallo blowdow!
Die Zerlegung der "
[Edit]
[/Edit]
Grüße
bastla
Da es auch oft Netzlaufwerke mit einem Leerschlag gibt (\\Server\Das ist ein Share)
Wer macht denn sowas?Die Zerlegung der "
net use
"-Ausgabe im angesprochenen Ansatz beruht auf Leerzeichen - daher reicht dann ein Einzeiler nicht mehr. Versuch es damit:@echo off & setlocal
set "Batch=D:\MapEm.cmd"
del "%Batch%" 2>nul
for /f "delims=" %%i in ('net use^|findstr ":"') do call :ProcessLine "%%i"
goto :eof
:ProcessLine
for /f "tokens=2*" %%a in (%1) do (
set "LW=%%a"
set "Pfad=%%b"
)
set "Pfad=%Pfad:Microsoft Windows-Netzwerk=%"
call :Trim %Pfad%
if defined Pfad >>"%Batch%" echo net use %LW% "%Pfad%"
goto :eof
:Trim
set "Pfad=%*"
goto :eof
Manchmal steht einfach nichts. Dann funktioniert dein Script leider nicht ganz korrekt
Wie sieht denn dann die Ausgabe von "net use
" aus, bzw wie (womit) sollte denn dann neu verbunden werden?[/Edit]
Grüße
bastla
Hallo blowdow!
Der Batch besteht aus einem "Hauptprogramm" (endet bei Zeile 6) und dem Unterprogramm ":ProcessLine". Wichtig ist dabei eigentlich nur, dass ":ProcessLine" nicht am Ende nochmals durchlaufen wird - daher das "
und Anfügen des restlichen Batchcodes unterhalb der Zeile 20, beginnend mit
Grüße
bastla
User machen zum Teil selber solche Shares.
Auch noch Admin-Rechte ...Der Batch besteht aus einem "Hauptprogramm" (endet bei Zeile 6) und dem Unterprogramm ":ProcessLine". Wichtig ist dabei eigentlich nur, dass ":ProcessLine" nicht am Ende nochmals durchlaufen wird - daher das "
goto :eof
" in Zeile 6 zum Beenden des Hauptprogramms. Wenn Du weitere Programmschritte einbauen willst, kannst Du das entweder zwischen Zeile 5 und 6 oder durch Umwandlung der Zeile 6 in zBgoto :Weiter
:Weiter
bastla