Every now and again, I have had requirements to access shared drives on other domains on which I have an account and do not want to create a permanent network connection. A couple of years ago, I stumbled upon this visual basic script that I have been using without any issues. I have tested this script using Microsoft Windows XP with SP2 and SP3 successfully and repeatedly.
MapNetworkDrive.vbs code
Option Explicit Dim objNetwork, objShell, objExp Dim objFSO, objFileCopy Dim strMapDriveLetter, strMapDrivePath, strUserName, strPassword, bUpdateProfile Dim strSourceLetter, strSourcePath, strFullSource Dim strTargetLetter, strTargetPath, strFullTargetPath, strFullTarget Dim CheckDrive, AlreadyConnected, intDrive Set objNetwork = CreateObject("WScript.Network") Set objShell = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") Set CheckDrive = objNetwork.EnumNetworkDrives() ' Init variables ' -------------- 'set drive letter to map strMapDriveLetter = "m:" 'map drive to this path strMapDrivePath = \\yourservername\share 'set security info strUserName = "domain\useracct" strPassword = "plaintextpasswordhere" bUpdateProfile = "false" ' Run procedure ' ------------- 'check if network drives already exist and remove Call DeleteDrive 'map network drives objNetwork.MapNetworkDrive strMapDriveLetter, strMapDrivePath, bUpdateProfile, strUserName, strPassword ' Calls subroutine to check if drive is already connected 'call Explorer 'WSCript.Echo "End Script" WScript.Quit Sub DeleteDrive() On Error Resume Next AlreadyConnected = False 'For intDrive = 0 To CheckDrive.Count - 1 Step 2 For intDrive = 0 To CheckDrive.Count If CheckDrive.Item(intDrive) =strMapDriveLetter Then AlreadyConnected =True Next If AlreadyConnected = True then objNetwork.RemoveNetworkDrive strMapDriveLetter, True, True 'Msgbox "Drive Deleted" End if End Sub sub Explorer() set objExp = CreateObject("WScript.Shell") objExp.Run ("Explorer" & " " & strMapDriveLetter ) End Sub
source