Показать полную графическую версию : [решено] Скрипт - подключить сетевой диск и назначить ему имя.
bombording
26-08-2009, 16:16
Добрый день.
Хочу подключить через GPO сетевой диск и назначить ему сетевое имя.
С подключением диска проблем нет:
net use x: /delete
net use x: \\files\files /persistent:yes
А вот с назначением ему имени есть. Подскажите какой параметр отвечает за назначения имени диску? И есть ли он вообще?
Petya V4sechkin
26-08-2009, 16:19
bombording, что такое имя диска?
bombording
26-08-2009, 16:21
Это имя диска в Моём компьютере.
Диск подключается к примеру с именем files на "files fileserver (server)"
А нужно что бы подключался диск и имел имя в Моём компьютере.... к примеру "Базы" "Общая"....
Petya V4sechkin
26-08-2009, 16:26
bombording, это особенность сетевых дисков.
Отображаемое описание сервера проводник кэширует в разделе реестра
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComputerDescriptions
bombording
26-08-2009, 16:31
Понял.
Возможно как нибудь, средствами bat, что бы после подключения диска... это описание менялось или вообще удалялось?
bombording, через VBS устроит?
On Error Resume Next
Set objWshNetwork = CreateObject( "WScript.Network" )
Set objShell = CreateObject("Shell.Application")
MapDrive "X:", "\\files\files", "Базы"
Sub MapDrive(strDrive, strPath, strName)
On Error Resume Next
objWshNetwork.RemoveNetworkDrive strDrive, vbTrue, vbTrue
objWshNetwork.MapNetworkDrive strDrive, strPath
objShell.NameSpace(strDrive).Self.Name = strName
End Sub
bombording
27-08-2009, 13:59
Конечно. Большое спасибо!!
bombording
31-08-2009, 11:21
amel27, походу после перезагрузки диск не востанавливается....
Не подскажешь как сделать что бы он и после перезагрузки оставался?
bombording, попробуй добавить еще один параметр в команду планирования:
objWshNetwork.MapNetworkDrive strDrive, strPath, vbTrue
У меня похожая проблема, но вариант приведенный выше не подходит, т.к. много компьютеров и каждому подключается свой сетевой диск.
в данный момент бат-файл на серваке выглядит так:
if %computername%==RFMI001 net use z: \\White\Saloon_save\01
if %computername%==RFMI002 net use z: \\White\Saloon_save\02
if %computername%==RFMI003 net use z: \\White\Saloon_save\03
if %computername%==RFMI004 net use z: \\White\Saloon_save\04
if %computername%==RFMI005 net use z: \\White\Saloon_save\05
if %computername%==RFMI006 net use z: \\White\Saloon_save\06
if %computername%==RFMI007 net use z: \\White\Saloon_save\07
if %computername%==RFMI008 net use z: \\White\Saloon_save\08
if %computername%==RFMI009 net use z: \\White\Saloon_save\09
if %computername%==RFMI010 net use z: \\White\Saloon_save\10
if %computername%==RFMI011 net use z: \\White\Saloon_save\11
if %computername%==RFMI012 net use z: \\White\Saloon_save\12
if %computername%==RFMI013 net use z: \\White\Saloon_save\13
if %computername%==RFMI014 net use z: \\White\Saloon_save\14
if %computername%==RFMI015 net use z: \\White\Saloon_save\15
if %computername%==RFMI016 net use z: \\White\Saloon_save\16
if %computername%==RFMI017 net use z: \\White\Saloon_save\17
if %computername%==RFMI018 net use z: \\White\Saloon_save\18
if %computername%==RFMI021 net use z: \\White\Saloon_save\21
if %computername%==RFMI022 net use z: \\White\Saloon_save\22
if %computername%==RFMI023 net use z: \\White\Saloon_save\23
if %computername%==RFMI024 net use z: \\White\Saloon_save\24
if %computername%==RFMI025 net use z: \\White\Saloon_save\25
if %computername%==RFMI026 net use z: \\White\Saloon_save\26
if %computername%==RFMI027 net use z: \\White\Saloon_save\27
if %computername%==RFMI028 net use z: \\White\Saloon_save\28
if %computername%==RFMI029 net use z: \\White\Saloon_save\29
if %computername%==RFMI030 net use z: \\White\Saloon_save\30
if %computername%==RFMI031 net use z: \\White\Saloon_save\31
if %computername%==RFMI032 net use z: \\White\Saloon_save\32
if %computername%==RFMI033 net use z: \\White\Saloon_save\33
if %computername%==RFMI034 net use z: \\White\Saloon_save\34
if %computername%==IH001 net use z: \\White\Saloon_save\new_1
if %computername%==IH002 net use z: \\White\Saloon_save\new_2
if %computername%==IH003 net use z: \\White\Saloon_save\new_3
if %computername%==IH004 net use z: \\White\Saloon_save\new_4
if %computername%==IH005 net use z: \\White\Saloon_save\new_5
if %computername%==IH006 net use z: \\White\Saloon_save\new_6
if %computername%==IH007 net use z: \\White\Saloon_save\new_7
if %computername%==IH008 net use z: \\White\Saloon_save\new_8
if %computername%==IH009 net use z: \\White\Saloon_save\new_9
if %computername%==IH010 net use z: \\White\Saloon_save\new_10
if %computername%==IH011 net use z: \\White\Saloon_save\new_11
if %computername%==IH012 net use z: \\White\Saloon_save\new_12
if %computername%==IH013 net use z: \\White\Saloon_save\new_13
if %computername%==CAFE001 net use z: \\White\Saloon_save\cafe_1
if %computername%==CAFE002 net use z: \\White\Saloon_save\cafe_2
if %computername%==CAFE003 net use z: \\White\Saloon_save\cafe_3
if %computername%==CAFE004 net use z: \\White\Saloon_save\cafe_4
if %computername%==CAFE005 net use z: \\White\Saloon_save\cafe_5
if %computername%==CAFE006 net use z: \\White\Saloon_save\cafe_6
if %computername%==CAFE007 net use z: \\White\Saloon_save\cafe_7
if %computername%==CAFE008 net use z: \\White\Saloon_save\cafe_8
if %computername%==CAFE009 net use z: \\White\Saloon_save\cafe_9
if %computername%==CAFE010 net use z: \\White\Saloon_save\cafe_10
if %computername%==CAFE011 net use z: \\White\Saloon_save\cafe_11
Все хорошо отрабатывается, но имя cетевого диска выглядит очень плохо...
а нужно что-бы имя сетевого диска было "Диск Z [№ компа]"
ChiSoft, я бы сделал так:
Set /A $N=1%ComputerName:~-3%%%1000
If /I "%ComputerName:~0,-3%"=="RFMI" Net Use Z: \\White\Saloon_save\%$N%
If /I "%ComputerName:~0,-3%"=="IH" Net Use Z: \\White\Saloon_save\new_%$N%
If /I "%ComputerName:~0,-3%"=="CAFE" Net Use Z: \\White\Saloon_save\cafe_%$N%
CHCP 1251& Set $T=Диск Z [%ComputerName%]
Echo CreateObject("Shell.Application").NameSpace("Z:").Self.Name="%$T%">"%tmp%\%~n0.vbs"
If Exist "Z:\" CScript //Nologo "%tmp%\%~n0.vbs"
Этот вариант ничего не дал...
Более того, я пытался сделать проще:
В своём бай файле после
if %computername%==RFMI001 net use z: \\White\Saloon_save\01
if %computername%==RFMI002 net use z: \\White\Saloon_save\02
if %computername%==RFMI003 net use z: \\White\Saloon_save\03
if %computername%==RFMI004 net use z: \\White\Saloon_save\04
if %computername%==RFMI005 net use z: \\White\Saloon_save\05
if %computername%==RFMI006 net use z: \\White\Saloon_save\06
if %computername%==RFMI007 net use z: \\White\Saloon_save\07
if %computername%==RFMI008 net use z: \\White\Saloon_save\08
if %computername%==RFMI009 net use z: \\White\Saloon_save\09
if %computername%==RFMI010 net use z: \\White\Saloon_save\10
if %computername%==RFMI011 net use z: \\White\Saloon_save\11
if %computername%==RFMI012 net use z: \\White\Saloon_save\12
if %computername%==RFMI013 net use z: \\White\Saloon_save\13
if %computername%==RFMI014 net use z: \\White\Saloon_save\14
if %computername%==RFMI015 net use z: \\White\Saloon_save\15
if %computername%==RFMI016 net use z: \\White\Saloon_save\16
if %computername%==RFMI017 net use z: \\White\Saloon_save\17
if %computername%==RFMI018 net use z: \\White\Saloon_save\18
if %computername%==RFMI021 net use z: \\White\Saloon_save\21
if %computername%==RFMI022 net use z: \\White\Saloon_save\22
if %computername%==RFMI023 net use z: \\White\Saloon_save\23
if %computername%==RFMI024 net use z: \\White\Saloon_save\24
if %computername%==RFMI025 net use z: \\White\Saloon_save\25
if %computername%==RFMI026 net use z: \\White\Saloon_save\26
if %computername%==RFMI027 net use z: \\White\Saloon_save\27
if %computername%==RFMI028 net use z: \\White\Saloon_save\28
if %computername%==RFMI029 net use z: \\White\Saloon_save\29
if %computername%==RFMI030 net use z: \\White\Saloon_save\30
if %computername%==RFMI031 net use z: \\White\Saloon_save\31
if %computername%==RFMI032 net use z: \\White\Saloon_save\32
if %computername%==RFMI033 net use z: \\White\Saloon_save\33
if %computername%==RFMI034 net use z: \\White\Saloon_save\34
if %computername%==IH001 net use z: \\White\Saloon_save\new_1
if %computername%==IH002 net use z: \\White\Saloon_save\new_2
if %computername%==IH003 net use z: \\White\Saloon_save\new_3
if %computername%==IH004 net use z: \\White\Saloon_save\new_4
if %computername%==IH005 net use z: \\White\Saloon_save\new_5
if %computername%==IH006 net use z: \\White\Saloon_save\new_6
if %computername%==IH007 net use z: \\White\Saloon_save\new_7
if %computername%==IH008 net use z: \\White\Saloon_save\new_8
if %computername%==IH009 net use z: \\White\Saloon_save\new_9
if %computername%==IH010 net use z: \\White\Saloon_save\new_10
if %computername%==IH011 net use z: \\White\Saloon_save\new_11
if %computername%==IH012 net use z: \\White\Saloon_save\new_12
if %computername%==IH013 net use z: \\White\Saloon_save\new_13
if %computername%==CAFE001 net use z: \\White\Saloon_save\cafe_1
if %computername%==CAFE002 net use z: \\White\Saloon_save\cafe_2
if %computername%==CAFE003 net use z: \\White\Saloon_save\cafe_3
if %computername%==CAFE004 net use z: \\White\Saloon_save\cafe_4
if %computername%==CAFE005 net use z: \\White\Saloon_save\cafe_5
if %computername%==CAFE006 net use z: \\White\Saloon_save\cafe_6
if %computername%==CAFE007 net use z: \\White\Saloon_save\cafe_7
if %computername%==CAFE008 net use z: \\White\Saloon_save\cafe_8
if %computername%==CAFE009 net use z: \\White\Saloon_save\cafe_9
if %computername%==CAFE010 net use z: \\White\Saloon_save\cafe_10
if %computername%==CAFE011 net use z: \\White\Saloon_save\cafe_11
дописал строки
if %computername%==IGOR net use z: \\White\Saloon_save
и
CScript /Nologo "Map.vbs"
Причем
if %computername%==IGOR net use z: \\White\Saloon_save
вставлял хоть в середину хоть в конец.
а рядом разместил файл Map.vbs
В котором прописал:
On Error Resume Next
Set objWshNetwork = CreateObject( "WScript.Network" )
Set objShell = CreateObject("Shell.Application")
MapDrive "Z:", "\\white\saloon_save", "Диск Z"
Sub MapDrive(strDrive, strPath, strName)
On Error Resume Next
objShell.NameSpace(strDrive).Self.Name = strName
End Sub
Так вот если комп IGOR, то диск становится какой надо, а остальные нет.
Этот вариант ничего не дал... »маловато инфы, как видно из скрипта он рассчитан на работу только на компах с именами RFMIxxx/IHxxx/CAFExxx, причем 1-я часть батника планирует диск, а вторая переименовывает (уже спланированный)... отсюда и исходите при отладке
дописал строки
if %computername%==IGOR net use z: \\White\Saloon_save
и
CScript /Nologo "Map.vbs" »
какой смысл дважды планировать диск - через CMD ("NET USE") и VBS?.. так концов никогда не найти
маловато инфы, как видно из скрипта он рассчитан на работу только на компах с именами RFMIxxx/IHxxx/CAFExxx, причем 1-я часть батника планирует диск, а вторая переименовывает (уже спланированный)... отсюда и исходите при отладке »
Отладка непредставляется возможной по причине незнания мной скриптового языка,
По этой-же причине немогу адаптировать под конкретную задачу ваш пример.
какой смысл дважды планировать диск - через CMD ("NET USE") и VBS?.. так концов никогда не найти »
Через CMD я создаю там все понятно, через VBS пытаюсь только переименовать.
Пока вариантов нет...
Через CMD я создаю там все понятно »ну вот, а говорите "по причине незнания"... CMD - тоже скриптовый язык.... ;)
через VBS пытаюсь только переименовать »собственно, команда переименования диска Z: в одну строчку:
CreateObject("Shell.Application").NameSpace("Z:").Self.Name="Диск Z"
Seryoga204
07-09-2010, 23:40
On Error Resume Next
Set objWshNetwork = CreateObject( "WScript.Network" )
Set objShell = CreateObject("Shell.Application")
MapDrive "X:", "\\files\files", "Базы"
Sub MapDrive(strDrive, strPath, strName)
On Error Resume Next
objWshNetwork.RemoveNetworkDrive strDrive, vbTrue, vbTrue
objWshNetwork.MapNetworkDrive strDrive, strPath
objShell.NameSpace(strDrive).Self.Name = strName
End Sub
А если надо подключить диск под определенным именем пользователя и пароль?
Метод MapNetworkDrive (http://msdn.microsoft.com/en-us/library/8kst88h6(VS.85).aspx) имеет дополнительные параметры. Вопрос, будет ли виден этот диск в «Shell.Application».
darksayt
25-07-2018, 17:36
здоров всем, пробивал применить данный скрип. все отлично. Только не пойму почему он подключенный диск расшаривает. Как сделать, чтобы диск не был в расшаре....???
Только не пойму почему он подключенный диск расшаривает. »
Например? Продемонстрируйте скриншотами — до и после отработки скрипта.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.