
Ich verwende dieses Skript zum Wiederherstellen und Sichern von Netzwerklaufwerken
SET path=C:\Users\%USERNAME%\Desktop\drives_backup.reg
C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %path%
Es funktioniert prima, aber da ich die Registrierung nicht verwende net use
und bearbeite, muss ich den Benutzer ab- und wieder anmelden lassen, damit die Änderungen übernommen werden. Gibt es eine Möglichkeit, dasselbe zu erreichen, ohne den Benutzer abmelden zu müssen?
Ich habe auch ein VBS-Skript, das die zugeordneten Netzwerklaufwerke im folgenden Format speichert
G: (\\path1\GROUPS)
aber ich habe keine Ahnung, wie ich diese übersetzen soll in
net use G: \\path1\GROUPS
Antwort1
Sie können die REG-Datei exportieren, sie dann durchlaufen und die Daten wie folgt verwenden net use
:
setlocal enabledelayedexpansion
SET _path=C:\Users\%USERNAME%\Desktop\drives_backup.reg
C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %_path%
for /f "tokens=1* delims=^=" %%a in ('type "%_path%"^|findstr /b .RemotePath') do (
set network=%%~b
set network=!network:\\=\!
for /f "delims=[]" %%# in ('find /n %%b "%_path%"') do set n=%%#
set /a n-=1
for /f "delims=[] tokens=2" %%# in ('find /n /v "" "%_path%"^|findstr /b /c:"[!n!]"') do net use %%~n#: "!network!"
)
Dieses Skript
- exportiert die .reg-Datei in den angegebenen Pfad
- liest die exportierte .reg-Datei und sucht nach relevanten Zeilen
- für jedes gefundene Netzwerk führt
net use FOUNDDRIVELETTER: \\found\network
Wenn ich das richtig verstehe, ändert sich die .reg-Datei eigentlich nicht oft. Sagen Sie mir, ob Sie möchten, dass die Funktion „.reg-Datei exportieren“ separat/optional zu diesem net use
Teil ist.
Außerdem empfehle ich dringend, Variablen nicht „Pfad“ zu benennen.