'========================================================================== 'MapDrive.vbs 'Created by Timothy Bourne 'http://www.imric.co.uk 'Last Modified: 11th November 2009 '========================================================================== 'This VBscript will map a drive using a subroutine. The script can be 'modified to map multiple drives using the subroutine. Can be useful as a 'login script. '========================================================================== Option Explicit On Error Resume Next Dim objNetwork, objPassword, objCheckDrive Dim strLocalName, strRemoteName, strUser Dim bUpdateProfile, bAlreadyConnected Dim i Set objNetwork = Wscript.CreateObject("WScript.Network") 'Create drive mapping for Z: (this section can be copied for multiple drives) strLocalName = "Z:" strRemoteName = "\\Server01\data" strUser = objNetwork.UserName 'Will use the current logged in username. bUpdateProfile = FALSE 'Drive mapping will not be perminant. EnumDrives 'Runs the subroutine to connect drive Z: WScript.Quit 'EnumDrives subroutine Sub EnumDrives bAlreadyConnected = FALSE Set objCheckDrive = objNetwork.EnumNetworkDrives() 'Check if the drive is already connected or not. For i = 0 To objCheckDrive.Count - 1 Step 2 If objCheckDrive.Item(i) = strLocalName Then bAlreadyConnected = True Next If bAlreadyConnected = True then WScript.Echo VbCrLf & strLocalName & " drive is already connected. Disconnecting it..." 'If the drive letter already exists, disconnect it... objNetwork.RemoveNetworkDrive strLocalName '... then connect it to the specified path. objNetwork.MapNetworkDrive strLocalName, strRemoteName, bUpdateProfile WScript.Echo strLocalName & " drive was reconnected to successfully." Else 'If the drive letter dosn't exist, connect it to the specified path. objNetwork.MapNetworkDrive strLocalName, strRemoteName, bUpdateProfile WScript.Echo strLocalName & " drive was connected successfully." End If End Sub