
У меня есть следующий пакетный скрипт, который успешно сопоставляет несколько наших дисков для наших пользователей:
@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
Подключенные диски берут свои имена из имени самого общего ресурса. Однако было бы очень удобно, если бы я мог переопределить имя на что-то более полезное для пользователей.
Я просмотрел в Интернете довольно много документов с примерами команд net use, но вижу только такие параметры, как учетные данные, но ничего общего с именованием не вижу.
Скрипт запускается на рабочих станциях Windows XP и Windows 7.
Любая помощь будет оценена по достоинству.
решение1
Есть способ сделать это из командной строки без использования VBScript. Вы можете редактировать реестр с помощью команды reg add
. IMHO, делать это таким образом будет лучше, чем использовать VBScript для изменения метки, потому что он не будет связывать метку с буквой диска, а вместо этого будет связывать метку с общим ресурсом. Таким образом, если конечный пользователь позже отключится X:
и вручную смонтирует xrays
общий ресурс, скажем, R:
диск, то метка все равно будет отображаться правильно (как вы назначили ее в скрипте).
Ключ, в который вы будете записывать данные, представляет HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\
собой подключ, представляющий собой путь к общему ресурсу, в котором все обратные косые черты заменены на символы решетки (#).
Примечание: Я еще не проверял, как следует обрабатывать имена общих ресурсов, содержащие пробелы (или даже символы решетки).
@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
решение2
Сделать это, используя только команду, невозможно net use
(см.документация), но есть способ сделать это с помощью скрипта VB, как описано Гаем Томасом на computerperformance.co.ukздесь
На случай, если сайт Гая позже исчезнет, вот копия его скрипта:
' 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.
Примечание:
- Если
W:
у вас не работает, попробуйтеW:\
(со слешем) - Этот метод установит метку буквы диска.постоянно, т.е. если вы позже подключите другой общий ресурс к той же букве диска, тоновая акция также получит старую метку. Это можно исправить, либо всегда используя этот скрипт при подключении общих ресурсов, либо удалив ключ в реестре, чтобы вернуться к нормальному поведению.
Возвращаемся к нормальному поведению:
- Запустите regedit и нажмите
Edit
(меню) ->Find
->Example Readable Label
- Или перейдите в regedit к
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
->_LabelFromReg
- Просто удалите значение - оставьте его пустым. Результатом будет то, что в будущем сопоставление дисков вернется к традиционному стилю сопоставления.
Все это более подробно описано на сайте Гая.
решение3
@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