Solved

How to map a network drive in vb .net

Posted on 2007-12-03
6
9,036 Views
Last Modified: 2013-11-26
I wrote the below code to map a network drive to another server:

 Try
            Dim storefile As System.IO.Directory
            Dim directory As String
            Dim files As String()
            Dim File As String

            files = storefile.GetFiles("\\" & DropDownList1.SelectedItem.Value & "\Y$\Checkpoints", "*")

            For Each File In files
                Label21.Text += (File & "<BR>")
            Next

        Catch ex As System.Exception
            Label9.Text = ex.Message
        End Try

The error message I'm getting Access to the path "\\YKCM1S1\Y$\Checkpoints" is denied. The path exist on the other server. How can I get around this? Thanks
0
Comment
Question by:redouard
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 12

Expert Comment

by:weareit
ID: 20397888
Is Y$ an actual share on the server?

It seems as if you are trying to map to a network drive, if so then you cannot do this.  Y$ signifies an administrative share or a hidden share of a local drive on the target server.

-saige-
0
 

Author Comment

by:redouard
ID: 20397934
Okay, now I removed the Y$ and nothing is happening?
0
 
LVL 12

Expert Comment

by:weareit
ID: 20397954
On the target server what is the share that you are attempting to attatch to?

-saige-
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 125 total points
ID: 20398463
Here is a class that will let you map to a network share:
' Add a COM reference to Windows Script Host Object Model.
 
Imports IWshRuntimeLibrary
Imports System.Runtime.InteropServices
 
Public Class NetworkDriveMapper
 
  Public Shared Sub MapDrive(ByVal driveLetter As String, _
   ByVal networkPath As String, ByVal isPersistent As Boolean)
 
    ' Create a new shell object.
    Dim networkShell As New WshNetwork
 
    Try
 
      ' Disconnect the drive first, forcing a permanent change.
      DisconnectDrive(driveLetter, True, True)
 
      ' Map the drive to the path.
      networkShell.MapNetworkDrive(driveLetter, networkPath, Convert.ToBoolean(isPersistent))
 
    Finally
 
      If Not networkShell Is Nothing Then
        Marshal.ReleaseComObject(networkShell)
 
        networkShell = Nothing
 
      End If
 
    End Try
 
  End Sub
 
  Public Shared Sub DisconnectDrive(ByVal driveLetter As String, _
    ByVal willForce As Boolean, ByVal isPersistent As Boolean)
 
    ' Create a new shell object.
    Dim networkShell As New WshNetwork
 
    If IO.Directory.Exists(driveLetter) Then
 
      Try
 
        networkShell.RemoveNetworkDrive(driveLetter, Convert.ToBoolean(willForce), _
            Convert.ToBoolean(isPersistent))
 
      Finally
 
        If Not networkShell Is Nothing Then
          Marshal.ReleaseComObject(networkShell)
 
          networkShell = Nothing
 
        End If
 
      End Try
 
    End If
 
  End Sub
 
End Class

Open in new window

0
 
LVL 1

Expert Comment

by:Computer101
ID: 20591189
Forced accept.

Computer101
EE Admin
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

690 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question