Here is the code you should find that is a little more reliable than just shelling the console.
''' <summary> ''' ''' </summary> ''' <param name="driveLetter"></param> ''' <param name="uncName"></param> ''' <remarks>This was hand tested. We cannot automate because it messes with the OS</remarks> Sub MapDrive(ByVal driveLetter As Char, ByVal uncName As String) Dim driveLetterFixed = Char.ToLower(driveLetter) If driveLetterFixed < "a"c OrElse driveLetterFixed > "z"c Then Throw New ArgumentOutOfRangeException("driveLetter") If uncName Is Nothing Then Throw New ArgumentNullException("uncName") If uncName = "" Then Throw New ArgumentException("uncName cannot be empty", "uncName") Dim fixedUncName As String = uncName 'This won't work if the unc name ends with a \ If fixedUncName.EndsWith("\") Then fixedUncName = fixedUncName.Substring(0, fixedUncName.Length - 1) Dim oNetWork As New IWshRuntimeLibrary.IWshNetwork_Class Try 'This usually isn't necessary, but we can't detect when it is needed. oNetWork.RemoveNetworkDrive(driveLetter, True, True) Catch ex As Runtime.InteropServices.COMException 'Ignore errors, it just means it wasn't necessary End Try oNetWork.MapNetworkDrive(driveLetter, fixedUncName, True) End Sub
http://clrextensions.codeplex.com/SourceControl/changeset/view/55677#666894
Jonathan allen
source share