Появилась такая задача: отключить локльно папку “Мои документы”, и подключить сетевую шару, как папку “Мои документы”, причём не просто подключить, а что бы в проводнике она виделась как “Мои документы”, а не “диск N на Server”. Вы конечно можете возразить, что можно в свойствах юзера указать положение папки и будете правы на 50%. Этот вариант прокатывает, если у вас сервер с шарами находится в одном домене с контроллером. А если файл сервер (сервак с шарами) не в домене? Тогда на помощь приходит этот скрипт.
Для этих целей нашёл в сети скрипт на VB и немного адаптировал под себя (пояснения скрипта и параметров будут ниже).
Скрипт запускается так:
c:\windows>cscripts NameDrive.vbs \\server\path\to\folder USERNAME PASSWORD
‘ NameDrive.vbs
‘ VBScript to map a network drive.
‘ Authors Guy Thomas and Barry Maybury
‘ Version 1.3 – January 23rd 2005
‘ —————————————-‘
‘
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC, objArgs
Dim strRemotePath, strDriveLetter, strNewName, strUsername, strPassword
‘
Set objArgs = WScript.Arguments
strRemotePath=objArgs(0)
strUsername=objArgs(1)
strPassword=objArgs(2)
strDriveLetter = “N:”
strNewName = “Мои документы”
‘Section to map the network drive
On Error Resume Next
Set objNetwork = CreateObject(“WScript.Network”)
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, true, strUsername, strPassword
‘ 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 script.
путь к шаре, имя юзера и пароль с которыми подключается шара передаются в виде параметров к скрипту, которые описываются в параметрах strRemotePath, strUsername, strPasswordсоотвественно. Если не нужно передавать как параметр, а жёстко указать в скрипте – явно прописываем это.
strDriveLetter – имя подключаемого диска
strNewName – лейбл, видимый в проводнике.