
Ich habe das folgende Batch-Skript, das einige unserer Laufwerke erfolgreich für unsere Benutzer zuordnet:
@echo off
net use * /delete /yes
net use x: \\192.168.1.52\xrays
net use s: \\192.168.1.52\common
net use p: \\192.168.1.52\public
net use o: \\192.168.1.52\office
net use y: \\192.168.1.52\drives
EXIT
Die zugeordneten Laufwerke übernehmen ihre Namen vom Freigabenamen selbst. Es wäre jedoch sehr praktisch, wenn ich den Namen durch etwas ersetzen könnte, das für die Benutzer nützlicher ist.
Ich habe mir online einige Dokumente mit Beispielen für die „net use“-Befehle angesehen, kann aber nur Optionen wie Anmeldeinformationen sehen, aber nichts, was mit der Benennung zu tun hat.
Das Skript wird auf Windows XP- und Windows 7-Arbeitsstationen ausgeführt.
Jede Hilfe wäre willkommen.
Antwort1
Es gibt eine Möglichkeit, dies über die Befehlszeile zu tun, ohne VBScript zu verwenden. Sie können die Registrierung mit dem reg add
Befehl bearbeiten. Meiner Meinung nach ist diese Vorgehensweise besser, als VBScript zum Ändern der Bezeichnung zu verwenden, da die Bezeichnung nicht dem Laufwerksbuchstaben, sondern der Freigabe zugeordnet wird. Wenn der Endbenutzer also später die Verbindung trennt X:
und die xrays
Freigabe manuell bereitstellt, um beispielsweise das Laufwerk zu verwenden R:
, wird die Bezeichnung immer noch korrekt angezeigt (für die Bezeichnung, die Sie ihr im Skript zugewiesen haben).
Der Schlüssel, in den Sie schreiben, ist HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\
der Unterschlüssel, der den Freigabepfad darstellt, wobei alle Backslashes durch Rautezeichen (#) ersetzt wurden.
Notiz: Ich habe noch nicht getestet, wie Sie mit Freigabenamen umgehen sollten, die Leerzeichen (oder sogar Rautezeichen) enthalten.
@echo off
net use * /delete /yes
:: Set the label in the registry
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#xrays /v _LabelFromReg /t REG_SZ /f /d "X-Rays"
:: Map the drive
net use x: \\192.168.1.52\xrays
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#common /v _LabelFromReg /t REG_SZ /f /d "Common"
net use s: \\192.168.1.52\common
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#public /v _LabelFromReg /t REG_SZ /f /d "Public"
net use p: \\192.168.1.52\public
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#office /v _LabelFromReg /t REG_SZ /f /d "Office"
net use o: \\192.168.1.52\office
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#drives /v _LabelFromReg /t REG_SZ /f /d "Drives"
net use y: \\192.168.1.52\drives
EXIT
Antwort2
Dies ist nicht nur mit dem Befehl möglich net use
(sieheDokumentation), aber es gibt eine Möglichkeit, dies mit einem VB-Skript zu tun, wie von Guy Thomas auf computerperformance.co.uk beschriebenHier
Für den Fall, dass die Site dieses Typen später verschwindet, hier eine Kopie seines Skripts:
' NameDrive.vbs
' VBScript to map a network drive.
' Authors Guy Thomas and Barry Maybury
' Version 1.4 - April 2010
' ----------------------------------------'
'
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName
'
strDriveLetter = "W:"
strRemotePath = "\\192.168.1.2\example\sharename"
strNewName = "Example Readable Label"
' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
Wscript.Echo "Check : "& strDriveLetter & " for " & strNewName
WScript.Quit
' End of Example VBScript.
Notiz:
- Wenn
W:
das bei Ihnen nicht funktioniert, versuchen SieW:\
(mit dem Schrägstrich) - Mit dieser Methode wird die Laufwerksbuchstabenbezeichnungpermanent, d.h. wenn Sie später eine weitere Freigabe an den gleichen Laufwerksbuchstaben anschließen,neue Aktie erhält auch das alte Label. Dies kann behoben werden, indem entweder beim Verbinden von Freigaben immer dieses Skript verwendet wird oder indem ein Schlüssel in der Registrierung gelöscht wird, um zum normalen Verhalten zurückzukehren.
Zurück zum normalen Verhalten:
- Starten Sie regedit und klicken Sie dann auf
Edit
(Menü) ->Find
->Example Readable Label
- Oder navigieren Sie in regedit zu
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
->_LabelFromReg
- Löschen Sie einfach den Wert und lassen Sie ihn leer. Das Ergebnis ist, dass zukünftige Laufwerkszuordnungen auf den traditionellen Zuordnungsstil zurückgesetzt werden.
All dies wird auf Guys Website ausführlicher beschrieben.
Antwort3
@echo off
echo --------------------------delete map drive all------------------------
net use * /delete /yes
echo ------------------create drive --------------------------------
net use m: \\172.16.0.136\Source /user:aleg\masr masr2006*
net use n: \\172.16.0.136\scanner_bat_test /user:alwq\4288044 masr2006*
echo ---------------------------------------------------
EXIT