
Ich muss alle Freigaben von //foo in //bar in einer Batchdatei ändern. Angenommen, ich habe R: //foo/foo und Z: //foo/bar
Ich brauche ein Batch-Skript, das sie in R: //bar/foo und Z: //bar/bar umwandelt.
Hat jemand eine Idee, wie das geht? Ich denke daran, irgendwie mit net use durchzuschleifen, aber weiter bin ich nicht gekommen. Ich werde auch selbst recherchieren, aber ich dachte, ich poste es hier und schaue, ob es jemand ganz schnell weiß, da ich ein bisschen in der Klemme stecke.
Danke für deine Hilfe.
Dies ist für Windows XP Zachary
Antwort1
Ich würde Folgendes in einer Batchdatei verwenden:
@echo off
REM Delete existing Mapped Drives
net use * /d Y
REM Map New Network Drive
net use R: \\bar\foo /persistent:yes
net use Z: \\bar\bar
echo Drives Mapped.
Dies kann dann zum Anmeldeskriptpfad des Benutzers hinzugefügt werden, sofern die Datei auf den Servern abgelegt istAnmeldungOrdner.
BEARBEITEN
Ich habe Ihre Frage gerade noch einmal gelesen. Offensichtlich ist meine Methode nicht praktikabel, wenn Sie viele Anteile ändern möchten. Können Sie mir sagen, ob viele Anteile geändert werden müssen?
Ich hoffe, das hilft. Wenn Sie Fragen haben, lassen Sie es mich wissen.
Antwort2
@echo off
REM delete the actual Network Drive
net use R: /DELETE
net use Z: /DELETE
REM Create the new Network Drive
net use R: \\bar\foo
net use Z: \\bar\bar
Wenn Sie möchten, dass das Netzlaufwerk auch nach einem Neustart erhalten bleibt, müssen Sie beim Zuordnen des Netzwerktreibers dem Befehl „net use“ /persistent:yes hinzufügen. Für R gilt also:
net use R: \\bar\foo /persistent:yes
Antwort3
Am besten ist wahrscheinlich eine Batchdatei mit demFOR-Befehl.
Wenn Sie eine Liste der Verzeichnisse abrufen können, die Sie ändern möchten, können Sie diesem Befehl eine Eingabedatei (wie shares.txt) zuführen und er durchläuft jede Zeile. Sie können eine ziemlich komplexe Logik zuweisen, wie im Link beschrieben.
Eine andere Möglichkeit wäre ein VBScript, aber ich glaube, das würde einen größeren Zeitaufwand bedeuten, insbesondere bei etwas wie diesem, das nicht viel Analyse oder Logik erfordert.
Antwort4
Net Use ändert die Laufwerkszuordnung, jedoch nicht die zugrunde liegende Freigabe, da der Befehl auf dem Client und nicht auf dem Server ausgeführt wird.
Es gibt keine Freigabeumbenennung, eine neue Freigabe kann im selben Ordner hinzugefügt werden und die alte Freigabe kann später gelöscht werden, sobald bestätigt ist, dass alles funktioniert. Der Haken ist, dass die neue Freigabe neue Freigabeberechtigungen erfordert und wenn sich der Pfad ändert, müssen möglicherweise auch neue NTFS-Berechtigungen festgelegt werden.
RmtTeilen,http://ss64.com/nt/rmtshare.html, kann je nach Betriebssystem funktionieren.
VBScript kann auch gut funktionieren, da es Freigabeberechtigungen unterstützt: MS Scripting Repository – Freigegebene Ordner. Link unten, Hyperlink funktioniert nicht.
http://gallery.technet.microsoft.com/scriptcenter/en-us/site/search?f[0].Type=RootCategory&f[0].Value=storage&f[0].Text=Storage&f1.Typ=Unterkategorie&f1.Wert=FreigegebeneOrdner&f1.Text=Freigegebene Ordner