Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Скрипт - подключить сетевой диск и назначить ему имя. (http://forum.oszone.net/showthread.php?t=148958)

bombording 26-08-2009 16:16 1203815

Скрипт - подключить сетевой диск и назначить ему имя.
 
Добрый день.
Хочу подключить через GPO сетевой диск и назначить ему сетевое имя.

С подключением диска проблем нет:

Код:

net use x: /delete
net use x:  \\files\files /persistent:yes

А вот с назначением ему имени есть. Подскажите какой параметр отвечает за назначения имени диску? И есть ли он вообще?

Petya V4sechkin 26-08-2009 16:19 1203819

bombording, что такое имя диска?

bombording 26-08-2009 16:21 1203822

Это имя диска в Моём компьютере.

Диск подключается к примеру с именем files на "files fileserver (server)"
А нужно что бы подключался диск и имел имя в Моём компьютере.... к примеру "Базы" "Общая"....

Petya V4sechkin 26-08-2009 16:26 1203825

bombording, это особенность сетевых дисков.

Отображаемое описание сервера проводник кэширует в разделе реестра
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComputerDescriptions

bombording 26-08-2009 16:31 1203833

Понял.
Возможно как нибудь, средствами bat, что бы после подключения диска... это описание менялось или вообще удалялось?

amel27 27-08-2009 06:52 1204307

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 1204594

Конечно. Большое спасибо!!

bombording 31-08-2009 11:21 1207789

amel27, походу после перезагрузки диск не востанавливается....

Не подскажешь как сделать что бы он и после перезагрузки оставался?

amel27 31-08-2009 11:50 1207798

bombording, попробуй добавить еще один параметр в команду планирования:
Код:

objWshNetwork.MapNetworkDrive strDrive, strPath, vbTrue

ChiSoft 15-06-2010 16:37 1434618

У меня похожая проблема, но вариант приведенный выше не подходит, т.к. много компьютеров и каждому подключается свой сетевой диск.
в данный момент бат-файл на серваке выглядит так:


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 [№ компа]"

amel27 16-06-2010 04:41 1434997

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"


ChiSoft 16-06-2010 10:46 1435111

Этот вариант ничего не дал...

Более того, я пытался сделать проще:

В своём бай файле после

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, то диск становится какой надо, а остальные нет.

amel27 16-06-2010 11:45 1435157

Цитата:

Цитата ChiSoft
Этот вариант ничего не дал... »

маловато инфы, как видно из скрипта он рассчитан на работу только на компах с именами RFMIxxx/IHxxx/CAFExxx, причем 1-я часть батника планирует диск, а вторая переименовывает (уже спланированный)... отсюда и исходите при отладке

Цитата:

Цитата ChiSoft
дописал строки
if %computername%==IGOR net use z: \\White\Saloon_save
и
CScript /Nologo "Map.vbs" »

какой смысл дважды планировать диск - через CMD ("NET USE") и VBS?.. так концов никогда не найти

ChiSoft 16-06-2010 13:38 1435227

Цитата:

Цитата amel27
маловато инфы, как видно из скрипта он рассчитан на работу только на компах с именами RFMIxxx/IHxxx/CAFExxx, причем 1-я часть батника планирует диск, а вторая переименовывает (уже спланированный)... отсюда и исходите при отладке »

Отладка непредставляется возможной по причине незнания мной скриптового языка,
По этой-же причине немогу адаптировать под конкретную задачу ваш пример.
Цитата:

Цитата amel27
какой смысл дважды планировать диск - через CMD ("NET USE") и VBS?.. так концов никогда не найти »

Через CMD я создаю там все понятно, через VBS пытаюсь только переименовать.

Пока вариантов нет...

amel27 16-06-2010 16:12 1435367

Цитата:

Цитата ChiSoft
Через CMD я создаю там все понятно »

ну вот, а говорите "по причине незнания"... CMD - тоже скриптовый язык.... ;)
Цитата:

Цитата ChiSoft
через VBS пытаюсь только переименовать »

собственно, команда переименования диска Z: в одну строчку:
Код:

CreateObject("Shell.Application").NameSpace("Z:").Self.Name="Диск Z"

Seryoga204 07-09-2010 23:40 1490645

Код:

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

А если надо подключить диск под определенным именем пользователя и пароль?

Iska 08-09-2010 01:09 1490740

Метод MapNetworkDrive имеет дополнительные параметры. Вопрос, будет ли виден этот диск в «Shell.Application».

darksayt 25-07-2018 17:36 2823468

здоров всем, пробивал применить данный скрип. все отлично. Только не пойму почему он подключенный диск расшаривает. Как сделать, чтобы диск не был в расшаре....???

Iska 25-07-2018 20:12 2823481

Цитата:

Цитата darksayt
Только не пойму почему он подключенный диск расшаривает. »

Например? Продемонстрируйте скриншотами — до и после отработки скрипта.


Время: 03:05.

Время: 03:05.
© OSzone.net 2001-